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

#6 MalKaViAN_NeT
30/08/2006 - 16:45 | Informe spam
no se xq cuando hago lo que me dijiste me sale el sgte error :S:

El método 'funciones.Form1.cn_state(object,
System.Data.StateChangeEventArgs)' no coincide con el delegado 'void
System.EventHandler(object, System.EventArgs)'


"Alberto Poblacion" wrote:

"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
#7 Guillermo guille
30/08/2006 - 19:57 | Informe spam
Porque debes usar el delegado adecuado: StateChangeEventHandler

de todas formas, si estás usando C# 2005, el IDE te ayuda a usar el delegado
correcto, y también puedes buscar en la ayuda ese evento y en el ejemplo de
C# veras el delegado que hay que usar ;-)))

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Mentor Asociado de Solid Quality Learning Iberoamericana

Te invito a mi sitio: http://www.elguille.info/
Resuelve tus dudas en: http://foros.elguille.info/

"MalKaViAN_NeT" escribió en el
mensaje news:
no se xq cuando hago lo que me dijiste me sale el sgte error :S:

El método 'funciones.Form1.cn_state(object,
System.Data.StateChangeEventArgs)' no coincide con el delegado 'void
System.EventHandler(object, System.EventArgs)'


"Alberto Poblacion" wrote:

"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
#8 MalKaViAN_NeT
30/08/2006 - 20:32 | Informe spam
:-/ espero no aburrirles con el tema,,,, pero yo ya hice esto en visual basic
.net :

'en general
Public WithEvents cn1 As New SqlConnection
'
Private Sub Conexion_CambioEstado(ByVal sender As Object, ByVal e As
StateChangeEventArgs) Handles cn1.StateChange
MessageBox.Show(e.CurrentState.ToString)
End Sub
/CODE

y asi yo veo el estado de conexion por ejemplo
ahora quiero hacerlo aqui en C# y ya cambie la sintaxis pero nada :'-(

el resultado es:

//en el load pongo
this.cn_state + =new EventHandler(this.cn1.StateChange);
//
private void cn_state(object sender, StateChangeEventArgs e)
{
//
}
/CODE

PD. uso la version 2003 de C# que tiene el net framework 1.1 tendra esto
algo que ver :S


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


"Guillermo 'guille'" wrote:

Porque debes usar el delegado adecuado: StateChangeEventHandler

de todas formas, si estás usando C# 2005, el IDE te ayuda a usar el delegado
correcto, y también puedes buscar en la ayuda ese evento y en el ejemplo de
C# veras el delegado que hay que usar ;-)))

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Mentor Asociado de Solid Quality Learning Iberoamericana

Te invito a mi sitio: http://www.elguille.info/
Resuelve tus dudas en: http://foros.elguille.info/
Respuesta Responder a este mensaje
#9 Alberto Poblacion
30/08/2006 - 21:53 | Informe spam
"MalKaViAN_NeT" wrote in message
news:
//en el load pongo
this.cn_state + =new EventHandler(this.cn1.StateChange);



Tienes que cambiarlo asi:

this.cn_state + =new StateChangeEventHandler(this.cn1.StateChange);
Respuesta Responder a este mensaje
#10 MalKaViAN_NeT
31/08/2006 - 03:21 | Informe spam
Dios alli estuvo el problema,, al parecer mi error fue parametrizarme a
hacerlo = que otro lenguaje y las cosas son distintas,, bueno por lo menos
entiendo la diferencia entre delegado y evento.,, disculpen la ignorancia no
tengo mucho tiempo en esto

salu2 y gracias a to2
MalKaViAN_NeT
http://malkavian-net.webcindario.com/foro/

"Alberto Poblacion" wrote:

"MalKaViAN_NeT" wrote in message
news:
> //en el load pongo
> this.cn_state + =new EventHandler(this.cn1.StateChange);

Tienes que cambiarlo asi:

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



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida