SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: eduardojr en Sábado 30 de Octubre de 2010, 22:23

Título: Como efinir un evento de validacion para multiples controles
Publicado por: eduardojr en Sábado 30 de Octubre de 2010, 22:23
Hola!

Como podria hacer para ahorrar tiempo y espacio definiendo un comportamiento para un tipo de controles en C#?

El problema es el siguiente:

Tengo 30 ComboBox.
Para los 30, en el evento KeyPress asigno e.Handled = true; para evitar que el usuario escriba en el ComboBox
Para realizar esto tengo que seleccionar los 30 controles, y uno por uno ir asignando e.Handled = true;

La pregunta es: ¿De qué forma podría asignar e.Handled = true; en todos mis controles ComboBox?

Saludos!
Título: Re: Como efinir un evento de validacion para multiples controles
Publicado por: tannke en Domingo 31 de Octubre de 2010, 12:36
buenas, bienvenido al foro, bueno, entiendo estas usando visualstudio para hacer la aplicación, bueno, la manera para realizarlo es la siguiente:
creas un evento KeyPress para el primero, a continuación para que todos los demás apunten al mismo evento te dirijes al cuadro de (normalmente) la derecha  el de propiedades y le das a la pestaña de eventos (la del rallito) y ahi buscas en el listado el evento keyPress. Cuando pulses una vez sobre el te aparece a la derecha un combobox para seleccionar el metodo al cual quieres asociar el evento, y ahi tiene que estar el primero que creastes, lo seleccionas y listo.

Haces esto con todos y listo. Un saludo
Título: Re: Como efinir un evento de validacion para multiples controles
Publicado por: eduardojr en Domingo 31 de Octubre de 2010, 18:30
Hola tankee.

Gracias por la respuesta. Me sirvió.

Saludos!
Título: Re: Como efinir un evento de validacion para multiples controles
Publicado por: eversm en Domingo 31 de Octubre de 2010, 21:12
tambien puedes herederar todos los controles que quieras que tengan ese evento de otro donde ya la hayas definido pr ejemplo:

Código: C#
  1.  
  2. public class MyTextBox : TextBox {
  3.             protected override void OnKeyPress(KeyPressEventArgs e)
  4.             {
  5.                 if (e.KeyChar ==(char)Keys.Enter) e.Handled = true;
  6.                 base.OnKeyPress(e);
  7.             }
  8.         }
  9.  
  10.         public class TextHandled : MyTextBox {
  11.            
  12.         }
  13.  
  14.  

y creas todos los nuevos controles desde la clase TextHandled
Título: Re: Como efinir un evento de validacion para multiples controles
Publicado por: eduardojr en Domingo 31 de Octubre de 2010, 21:32
Hola eversm.

Voy a intentarlo también de esa forma. Es una buena opción para trabajarlo completamente desde el código.

Muchas gracias por la respuesta! Saludos!