Foros del Web » Programación para mayores de 30 ;) » .NET »

metodo para validar texbox

Estas en el tema de metodo para validar texbox en el foro de .NET en Foros del Web. Hola a todos! estoy trabajando con un formulario donde uso 10 textbox y en todos ellos necesito validar que solo se puedan capturar números. El ...
  #1 (permalink)  
Antiguo 25/09/2011, 18:48
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Pregunta metodo para validar texbox

Hola a todos! estoy trabajando con un formulario donde uso 10 textbox y en todos ellos necesito validar que solo se puedan capturar números.
El código para la validación lo tengo , solo que me gustaría no repetir ese código en cada textbox, si no que poder hacer a un metodo aparte donte tenga el codigo de validación y llamarlo en los eventos de cada textbox pero no eh logrado hacerlo. Intente enviar como parametros el "object sender, KeyPressEventArgs e" que da por defecto el evento del KeyPress pero eh tenido exito.

este es el codigo que tengo:

Código C++:
Ver original
  1. private void txtP_UNO_KeyPress(object sender, KeyPressEventArgs e)    { validar_texbox(e); }
  2. private void txtP_DOS_KeyPress(object sender, KeyPressEventArgs e)  { validar_texbox(e); }
  3. private void txtP_TRES_KeyPress(object sender, KeyPressEventArgs e)   { validar_texbox(e); }
  4. private void txtE_CUATRO_KeyPress(object sender, KeyPressEventArgs e)    { validar_texbox(e); }
  5. private void txtE_CINCO_TextChanged(object sender, EventArgs e)       { validar_texbox(e); }
  6. private void txtE_SEIS_KeyPress(object sender, KeyPressEventArgs e)   { validar_texbox(e); }
  7.  
  8.  
  9. public void validar_texbox(KeyPressEventArgs e)
  10.         {
  11.  
  12.             if (e.KeyChar == 8) { e.Handled = false; return; }
  13.  
  14.             bool IsDec = false;
  15.             int num_decimal = 0;
  16.            
  17.             if (e.KeyChar >= 48 && e.KeyChar <= 57) e.Handled = false;
  18.             else if (e.KeyChar == 46) e.Handled = (IsDec) ? true : false;
  19.             else e.Handled = true;
  20.  
  21.         }


Agradezco de antemano quien me pudiera ayudar con esto.
  #2 (permalink)  
Antiguo 25/09/2011, 18:57
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: metodo para validar texbox

Porque no creas un control de usuario usando un textbox y agregandole esa funcionalidad que dices.
  #3 (permalink)  
Antiguo 25/09/2011, 19:00
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

gracias por tu respuesta! como seria eso? tendrás algún ejemplo

Saludos :P
  #4 (permalink)  
Antiguo 25/09/2011, 19:21
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: metodo para validar texbox

Mira aca, hice un ejemplo rapido para que te guies

https://skydrive.live.com/?cid=7403c...5039E121%21165

es la carpeta de windowsform
  #5 (permalink)  
Antiguo 25/09/2011, 19:25
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

Muchas gracias, checo, pruebo y te comento
  #6 (permalink)  
Antiguo 25/09/2011, 19:27
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

compañero lo hiciste con Visual Studio 2010? porque tengo el 2008 y me dice que se hizo con una version mas reciente S:
  #7 (permalink)  
Antiguo 25/09/2011, 19:28
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: metodo para validar texbox

lo voy a bajar de framework a ver si te trabaja
  #8 (permalink)  
Antiguo 25/09/2011, 19:33
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: metodo para validar texbox

prueba el que termina en -2
  #9 (permalink)  
Antiguo 25/09/2011, 19:35
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

ok gracias nuevamente, y perdón no especifique en que versión estaba trabajando
  #10 (permalink)  
Antiguo 25/09/2011, 19:44
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

:S no compa no se deja abrir, intentare abrir los archivos con notepad para leer el codigo:P

  #11 (permalink)  
Antiguo 25/09/2011, 19:49
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Respuesta: metodo para validar texbox

compile los dos proyectos en el vs primero compile el WindowsFormsControlLibrary1 que es donde esta el control de usuario y luego compile el otro si le saca problema quite la referencia del proyecto WindowsFormsControlLibrary1 y la vuelve a agregar.
  #12 (permalink)  
Antiguo 25/09/2011, 20:01
Avatar de guichogdl  
Fecha de Ingreso: abril-2010
Ubicación: gdl
Mensajes: 131
Antigüedad: 14 años
Puntos: 1
Respuesta: metodo para validar texbox

ok gracias nuevamente, eh hecho al pie de la letra lo que mencionas, y así es compilo primero con el WindowsFormsControlLibrary1 un solo textbox y luego al abrir del control del usuario y compilo y salio una ventana con 4 textbox.

No me deja ver el código de la vista de control de usuario, ya vi el codigo de UserControl1, pero no se como puedo usuarlo para todos los textbox que tengo.

Muchas gracias compañero por su ayuda, disculpe las molestias :P
  #13 (permalink)  
Antiguo 27/09/2011, 07:26
 
Fecha de Ingreso: agosto-2011
Ubicación: Buenos Aires
Mensajes: 78
Antigüedad: 12 años, 8 meses
Puntos: 10
Respuesta: metodo para validar texbox

En este utiliza el mismo método ó manejador validar_textbox en el evento KeyPress de todos los textboxes, simplemente copia y pegá "validar_textbox" en la parte Eventos del panel Propiedades, sobre la línea de KeyPress.
Y tendrías que modificarle la firma de la siguiente forma: void validar_texbox(object sender, KeyPressEventArgs e)
__________________
www.orientadoanet.com
  #14 (permalink)  
Antiguo 27/09/2011, 09:12
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 1 mes
Puntos: 37
Respuesta: metodo para validar texbox

Puedes hacer algo como lo siguiente:

Método de validación:

public bool txtNumerico(Infragistics.Win.UltraWinEditors.Ultra TextEditor txtControl, char caracter, bool decimales)
{
if ((Char.IsNumber(caracter.ToString(), 0) == true) || caracter == Convert.ToChar(8) || caracter == '.')
{
if (caracter == '.')
{
if (decimales)
{
if (txtControl.Text.IndexOf('.') != -1)
{
return true;
}
else
{
return true;
}
}
}
return false;
}
return true;
}


Y en el evento KeyPress de tu Textbox:

private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = txtNumerico(this.TextBox1, e.KeyChar, true);
}

Donde la propiedad true que tiene de paràmetro es para que no acepte números decimales y si la pones en false aceptarà números decimales.

Saludos y suerte!
__________________
http://ka0stj.wordpress.com/
  #15 (permalink)  
Antiguo 27/09/2011, 14:50
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: metodo para validar texbox

para crear una funcion y despues llamarla en todos los textbox en el evento keypress pudieras crear un arreglo de controles de tus textbox a validar y con ello realizar la funcion de validar, yo hago algo parecido al interactuar con DB inser y update
__________________
la programación es tan grande como la imaginación (+.+)
  #16 (permalink)  
Antiguo 05/10/2011, 05:14
 
Fecha de Ingreso: octubre-2011
Ubicación: Barcelona
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: metodo para validar texbox

La mejor opcion es sin duda crearte un TextBox personalizado y reutilizable.
Simplemente agregas una nueva clase al proyecto (no hace falta que sea un userControl ya que solo utiliza un textbox como elemento visual, un user control tiene sentido a partir de mas de un elemento visual, por ejemplo un texbox y un boton).

Una vez agregada la clase solo tienes que hacer que herede de TextBox

Código:
Public Class MiTextBox
   Inherits System.Windows.Forms.TextBox
   ...
   ...
   ...
End Class
Con esto consigues tener todos los metodos y propiedades de un TextBox y ademas añadirle los tuyos propios. De esta forma solo tendras que arrastrar desde la barra de herramientas tantos textbox como quieras y todos tendran la funcionalidad que has implementado.

Salu2!

Etiquetas: keypress, metodo, textbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.