WithEvents

28/08/2006 - 02:01 por MalKaViAN_NeT | Informe spam
hola :S no se si alguien de aqui programo en VB.NET y alli había esta
instruccion que se anteponia a una variable para poder usar sus eventos,,,
pos yo necesito ponerla a una variable pero en C# !! no se si se usa algo en
ves de esta instruccion o es de otroa manera :S espero que me ayuden o me den
un enlaze donde puedo encontrar como hacerlo xq estuve buscando y no encuentro

gracias por su time
salu2

MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro

Preguntas similare

Leer las respuestas

#1 Ezequiel Jadib
28/08/2006 - 17:33 | Informe spam
busca sobre delegados/events
"MalKaViAN_NeT" escribió en el
mensaje news:
hola :S no se si alguien de aqui programo en VB.NET y alli había esta
instruccion que se anteponia a una variable para poder usar sus eventos,,,
pos yo necesito ponerla a una variable pero en C# !! no se si se usa algo
en
ves de esta instruccion o es de otroa manera :S espero que me ayuden o me
den
un enlaze donde puedo encontrar como hacerlo xq estuve buscando y no
encuentro

gracias por su time
salu2

MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro

Respuesta Responder a este mensaje
#2 MalKaViAN_NeT
28/08/2006 - 18:43 | Informe spam
Pense que mi error era por que no había puesto algo así como un WithEvents
pero ahora se que no es necesario poner esa instrucción en C#

pero mi error es el siguiente:

//ACA SE ASIGNA UN MANEJADOR DE EVENTO:
button.Click += new EventHandler(this.Button_Clicked);
//NOTESE QUE SE ASIGNA AL EVENTO Click DEL Button

Ahora supongamos que yo tengo un void por ejemplo:

private void cn_state(object sender, StateChangeEventArgs e)
{
//
}

a este quiero agregarle un manejador:

//cn1=mi conexion con la bd
this.cn_state + =new EventHandler(this.cn1.StateChange);

si hago eso obtengo un error y es porque el void cn_state no tiene ningún
evento como por ejemplo el button.Click que puse arriba,,,,


me pueden ayudar a como asignar un manejador a un void en esas
circustancias =(

PD Ya busque sobre delagates y naa man

salu2
MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro


"Ezequiel Jadib" wrote:

busca sobre delegados/events
Respuesta Responder a este mensaje
#3 Alberto Poblacion
28/08/2006 - 19:17 | Informe spam
"MalKaViAN_NeT" wrote in message
news:
[...] en VB.NET y alli había esta
instruccion [WithEvents] que se anteponia
a una variable para poder usar sus eventos,,,



Bueno, eso no es exacto en la versión .Net de VB, a diferencia del VB6.
En VB.NET los eventos de un objeto SIEMPRE se pueden usar, tanto si pones el
WithEvents como si no. Lo que pasa es que si no pones el WithEvents te
obligas a conectar los manejadores de eventos exclusivamente usando
AddHandler, mientras que si pones el WithEvents puedes además usar
opcionalmente la sintaxis de "Handles variable.evento" al final de la
declaración del manejador..

yo necesito ponerla a una variable pero en C#



No tiene sentido. La sintaxis de C# no contiene un equivalente al
"Handles" de VB, y por tanto no sirve de nada el WithEvents, cuya única
finalidad es habilitar el "Handles". En C# la conexión de los manejadores de
eventos siempre tiene que seguir el otro método que hemos mencionado para
VB, es decir, usar el AddHandler del delegado del evento o su equivalente
abreviado, la sobrecarga del operador "+" de los delegados.
Respuesta Responder a este mensaje
#4 MalKaViAN_NeT
28/08/2006 - 19:37 | Informe spam
Hola Alberto Poblacion ya me había dado cuenta de esto =),,, no se si leiste
un post mio anterior a este,, me informe en el msdn pero gracias por tus
aclaraciones me sirven muxo ya ke no tengo mucho tiempo de migrar de vb.net
a c#,, ,espero que leas mi post anterior para que veas cual es realmente mi
problema


salu2
MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro

"Alberto Poblacion" wrote:

"MalKaViAN_NeT" wrote in message
news:
> [...] en VB.NET y alli había esta
> instruccion [WithEvents] que se anteponia
> a una variable para poder usar sus eventos,,,

Bueno, eso no es exacto en la versión .Net de VB, a diferencia del VB6.
En VB.NET los eventos de un objeto SIEMPRE se pueden usar, tanto si pones el
WithEvents como si no. Lo que pasa es que si no pones el WithEvents te
obligas a conectar los manejadores de eventos exclusivamente usando
AddHandler, mientras que si pones el WithEvents puedes además usar
opcionalmente la sintaxis de "Handles variable.evento" al final de la
declaración del manejador..

> yo necesito ponerla a una variable pero en C#

No tiene sentido. La sintaxis de C# no contiene un equivalente al
"Handles" de VB, y por tanto no sirve de nada el WithEvents, cuya única
finalidad es habilitar el "Handles". En C# la conexión de los manejadores de
eventos siempre tiene que seguir el otro método que hemos mencionado para
VB, es decir, usar el AddHandler del delegado del evento o su equivalente
abreviado, la sobrecarga del operador "+" de los delegados.



Respuesta Responder a este mensaje
#5 Alberto Poblacion
28/08/2006 - 20:02 | Informe spam
"MalKaViAN_NeT" wrote in message
news:

Ahora supongamos que yo tengo un void por ejemplo:

private void cn_state(object sender, StateChangeEventArgs e)
{
//
}

a este quiero agregarle un manejador:

//cn1=mi conexion con la bd
this.cn_state + =new EventHandler(this.cn1.StateChange);

si hago eso obtengo un error y es porque el void cn_state no tiene ningún
evento como por ejemplo el button.Click que puse arriba,,,,



Lo tienes al revés. Lo que deseas hacer es esto:

this.cn1.StateChange += new EventHandler(this.cn_state);

Es decir, el evento va a la izquierda del +=, y la rutina a conectarle
(el manejador del evento) es la que va en el "new LoQueSeaEventHandler".
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida