Usar en distintos textbox al llamar evento Keypress misma función

08/05/2008 - 14:02 por Juanato | Informe spam
Hola a todos los forofos del C sharp:

Soy un programador Xbase que después de 13 años, tengo que
modernizarme. Estoy experimentando con c sharp, y tengo varias
necesidades para ahorrar código:


1º) Veo que podria usarse al llamar al mismo evento en varios textbox
a la misma función. Supongo que se podria sobreescribir el mismo
evento para permitirlo, pero no llego. Seria algo asi...


public void txtValidaTeclaPulsada(object sender,
System.Windows.Forms.KeyPressEventArgs e, int
nModo)
{
// Si se pulsa la tecla Intro, pasar al siguiente
//if( e.KeyChar == Convert.ToChar('') ){
if( e.KeyChar == '' ){
e.Handled = true;
// txtFecha.Focus();
}else if( e.KeyChar == '.' ){
// si se pulsa en el punto se convertirá en coma
e.Handled = true;
SendKeys.Send(",");
}
}

SI nModo es 0, hago una validación como número sin decimales
si es 1, hago numérico con decimales, pero altero . por ,
Si es 2, simplemente tengo en cuenta que si pulsa ESC, me salgo de la
edición del form



Alguien ha llegado a conseguir esto que pregunto ?


Gracias desde Córdoba, España
 

Leer las respuestas

#1 Alberto Poblacion
08/05/2008 - 14:13 | Informe spam
"Juanato" wrote in message
news:
Mostrar la cita
Bueno, asi directamente, no.
Es lícito conectar una misma rutina de tratamiento de eventos con varios
controles, pero no le puedes cambiar los argumentos: tendría que tener
únicmente el "sender" y el "e", pero no puedes añadir nModo. El remedio
sería examinar el "sender" dentro de la rutina y a partir de él determinar
el nModo.
Otra alternativa sería que cada control tenga su propia rutina de
tratamiento del evento, y dentro de esa rutina se haga una llamada a la
rutina "común", pasándole el "sender" y el "e" y añadiendo en la llamada un
tercer parámetro para el nModo.

Preguntas similares