• Viernes 1 de Noviembre de 2024, 07:34

Autor Tema:  extender TextBox  (Leído 2391 veces)

angelarg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
extender TextBox
« en: Lunes 18 de Agosto de 2008, 04:57 »
0
Hola,

Alguien me puede decir cómo hago para extender un textBox para que se pueda seleccionar si se va a digitar un string o números?...  sé cómo hacer para que solo se puedan digitar números, pero la idea sería tener una nueva propiedad en las propiedades del textBox que me permitiera selecionar entre string y números y que me validara lo que se digite en el campo según el tipo que yo seleccione en esta propiedad.  Gracias,   :D

Angela

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: extender TextBox
« Respuesta #1 en: Lunes 18 de Agosto de 2008, 15:59 »
0
Cita de: "angelarg"
Hola,

Alguien me puede decir cómo hago para extender un textBox para que se pueda seleccionar si se va a digitar un string o números?...  sé cómo hacer para que solo se puedan digitar números, pero la idea sería tener una nueva propiedad en las propiedades del textBox que me permitiera selecionar entre string y números y que me validara lo que se digite en el campo según el tipo que yo seleccione en esta propiedad.  Gracias,   :D

Angela
Angela:
Lo mas fácil sería que uses un MaskedTextBox, pero si necesitás hacerlo hacerlo sí o sí de la manera que nos mencionás, vas a tener que crear una nueva clase que herede de un TextBox e implementarle la nueva propiedad. Después podrías usar el evento keyPress para realizar las validaciones según el tipo de entrada seleccionado:

Código: Text
  1. namespace TuEspacioDeNombres
  2. {
  3.     enum enumTiposDeEntrada { Cadena, Numero };
  4.     class miMaskedTextBox:TextBox
  5.     {
  6.         private enumTiposDeEntrada tipoDeEntrada;
  7.  
  8.         public miMaskedTextBox()
  9.         {
  10.             this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(miMaskedTextBox_KeyPress);
  11.         }
  12.  
  13.         public enumTiposDeEntrada TipoDeEntrada
  14.         {
  15.             set
  16.             {
  17.                 tipoDeEntrada = value;
  18.             }
  19.             get
  20.             {
  21.                 return tipoDeEntrada;
  22.             }
  23.         }
  24.  
  25.         private void miMaskedTextBox_KeyPress(object sender, KeyPressEventArgs e)
  26.         {
  27.             switch (this.tipoDeEntrada)
  28.             {
  29.                 case enumTiposDeEntrada.Cadena:
  30.                     if (!Char.IsLetter(e.KeyChar)) e.Handled = true;
  31.                     break;
  32.                 case enumTiposDeEntrada.Numero:
  33.                     if (!Char.IsDigit(e.KeyChar)) e.Handled = true;
  34.                     break;
  35.             }
  36.         }
  37.     }
  38. }
  39.  

Lo probé y funciona, faltan algunas cositas (como permitir la tecla de retroceso para borrar), pero eso te lo dejo a vos.

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

angelarg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: extender TextBox
« Respuesta #2 en: Lunes 18 de Agosto de 2008, 17:31 »
0
Mil  gracias...  lo voy a ensayar   :D   ayer traté con los enum, pero no supe cómo hacerlo   :wacko:   es que apenas estoy en clases, por eso tenía una vaga idea de cómo hacerlo  pero no funcionó :(  ...  ya mismo hago lo que dices...  gracias de nuevo!!!!   :lol:   :lol:   :lol:

angelarg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: extender TextBox
« Respuesta #3 en: Lunes 18 de Agosto de 2008, 19:55 »
0
Ya lo probé...  que lindo!!!  ....  no sabía cómo lograr poner esa nueva propiedad!!!....  mil gracias!!!  :lol:   :lol:   :lol:

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: extender TextBox
« Respuesta #4 en: Martes 19 de Agosto de 2008, 01:41 »
0
Cita de: "angelarg"
Ya lo probé...  que lindo!!!  ....  no sabía cómo lograr poner esa nueva propiedad!!!....  mil gracias!!!  :lol:   :lol:   :lol:
¿Que lindo yo? , no hace falta que contestes :P
Es un placer ayudar :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

angelarg

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: extender TextBox
« Respuesta #5 en: Martes 19 de Agosto de 2008, 01:45 »
0
pues, qué lindo el código y la verdad, qué lindo tú!!!   ^_^