Eventos de controles

15/06/2005 - 14:05 por yego | Informe spam
Hola a todos,
Tengo un problemilla con los eventos; he implementado el keydown de un
control (Tipo T) que es la base de otros controles (Tipo I, Tipo F). En
este evento (Tipo T) lo que hago es recuperar el tipo de control y su valor
actual. Pues bien, unicamente realiza el evento del control base (Tipo T)
ignorando el nuevo funcionamiento de este mismo evento (keydown) para los
controles derivados.

Hay algo que estoy haciendo mal o realmente no se puede hacer lo que yo
quiero??.

Saludos.

Preguntas similare

Leer las respuestas

#1 Miguel Angel Campos
15/06/2005 - 14:08 | Informe spam
Puedes copiar aquí el código del evento tanto del Tipo T como del resto de
tipos.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"yego" escribió en el mensaje
news:
Hola a todos,
Tengo un problemilla con los eventos; he implementado el keydown de un
control (Tipo T) que es la base de otros controles (Tipo I, Tipo F). En
este evento (Tipo T) lo que hago es recuperar el tipo de control y su
valor
actual. Pues bien, unicamente realiza el evento del control base (Tipo T)
ignorando el nuevo funcionamiento de este mismo evento (keydown) para los
controles derivados.

Hay algo que estoy haciendo mal o realmente no se puede hacer lo que yo
quiero??.

Saludos.



Respuesta Responder a este mensaje
#2 Tristan
15/06/2005 - 16:00 | Informe spam
yego. Solo puedo decirte que no hay ninguna dificultad para que las clases
heredera añadan sus propios delegados para tratar un evento.

Pero cuidado. Si para tratar los eventos, estás sobreescribiendo los métodos
OnEvento, tienes que hacer lo habitual a la hora de sobreescribir métodos.
Invocar el método de la clase base: base.OnEvento(...)

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#3 yego
15/06/2005 - 16:19 | Informe spam
Ya veo, pero.. y como puedo hacer para ignorar el evento de la clase base??
No hay ninguna forma para indicar que no quiero que se ejecute el evento de
la clase base sino el sobre escrito en el heredado??
"Tristan" escribió en el mensaje
news:
yego. Solo puedo decirte que no hay ninguna dificultad para que las clases
heredera añadan sus propios delegados para tratar un evento.

Pero cuidado. Si para tratar los eventos, estás sobreescribiendo los


métodos
OnEvento, tienes que hacer lo habitual a la hora de sobreescribir métodos.
Invocar el método de la clase base: base.OnEvento(...)

Juan Carlos Badiola
MVP - C#


Respuesta Responder a este mensaje
#4 yego
15/06/2005 - 16:26 | Informe spam
Hola Miguel Angel, este es el código de uno de los controles heredados. Está
formado por tres controles iguales base.
El código del base es el mismo; Que es lo que ocurre; pues que sólo actua
para el campo donde se hizo el keydown, no del control al cual pertenece,
así pues la información almacenada no es correcta.

Un saludo.

private void SAGCodCta_KeyDown(object sender,
System.Windows.Forms.KeyEventArgs e)
{
string sagTipoControl=this.GetType().ToString();
//Copia al portapapeles
if(e.KeyCode == Keys.F9)
{
Clipboard.SetDataObject(sagTipoControl + "|"+ this.ValorReal);
return;
}
//Recupera del portapapeles
if(e.KeyCode == Keys.F10)
{
IDataObject datoPP = Clipboard.GetDataObject();
string dato = datoPP.GetData(DataFormats.Text).ToString();
string [] split=null;
split=dato.ToString().Split('|');
if(split.Length==2)
{
if (sagTipoControl == split[0])
{
this.ValorReal=split[1];
}
}
}
}




"Miguel Angel Campos" <SPAMmacampos ARRUBA .idesarrollaSPAM.com> escribió en
el mensaje news:
Puedes copiar aquí el código del evento tanto del Tipo T como del resto de
tipos.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"yego" escribió en el mensaje
news:
> Hola a todos,
> Tengo un problemilla con los eventos; he implementado el keydown de un
> control (Tipo T) que es la base de otros controles (Tipo I, Tipo F). En
> este evento (Tipo T) lo que hago es recuperar el tipo de control y su
> valor
> actual. Pues bien, unicamente realiza el evento del control base (Tipo


T)
> ignorando el nuevo funcionamiento de este mismo evento (keydown) para


los
> controles derivados.
>
> Hay algo que estoy haciendo mal o realmente no se puede hacer lo que yo
> quiero??.
>
> Saludos.
>
>
>


Respuesta Responder a este mensaje
#5 Tristan
15/06/2005 - 16:48 | Informe spam
No acabo de comprender lo que quieres hacer, yego.

En principio los delegados se añaden (+=) sobre un evento. Una clase no
tiene ninguna forma de eliminar un delegado añadido por otra. Bueno, a no
ser que exista alguna forma mediante reflection, pero con seguridad no
directamente.

¿Pero para que necesitas eso?

He intentado comprender por tu otro mensaje como funciona tu aplicación,
pero no lo consigo. ¿Un control compuesto de otros tres, y que a su vez
hereda de ellos? No me entero bien.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida