Foro Oficial de C#

alguno que porfavor me pueda esplicar los eventos en c#
pues encontré unos en mva y en msdn pero son muy difíciles de entender al parecer en todo lado son terrible alguno que por favor me ayude?
La forma fácil en la que los se manejar sin meterse con teoría de delegados y enredarle la pita:

Código:
//Declaración del evento (este es el delegado al que se suscriben los objetos que van a escuchar el evento)
public event EventHandler<EventArgs> nombreDelEvento; //EL prefijo "On" lo añade VS automáticamente así que si el evento se llama "Click" cuando lo vayas a usar en realidad es "OnClick"

//Método de tu clase en el que vas a lanzar el evento
private void Operación()
{
       //Verificando que el evento tenga suscripciones
       if (nombreDelEvento != null)
       {
               //Lanzando evento
               nombreDelEvento(this, new EventArgs());
        }
}

Ahí se está haciendo uso de un evento básico con la clase por defecto de argumentos que es EventArgs, si deseas enviar parámetros en el mensaje del evento debes crear una clase aparte que se llame algo así como "MisParametrosEventArgs" (como sea que te quede acorde al evento) y que herede de la clase "EventArgs". Luego de tenerla reemplazas en el código anterior "EventArgs" por el nombre de tu clase y a la hora de lanzar el evento instancias ese objeto llenando sus propiedades con los valores correspondientes antes de lanzar el evento.

Espero haber sido claro... :nervios:

Si no era lo que necesitabas avisas!
 
  • Me gusta
Reacciones: 4 personas
La forma fácil en la que los se manejar sin meterse con teoría de delegados y enredarle la pita:

Código:
//Declaración del evento (este es el delegado al que se suscriben los objetos que van a escuchar el evento)
public event EventHandler<EventArgs> nombreDelEvento; //EL prefijo "On" lo añade VS automáticamente así que si el evento se llama "Click" cuando lo vayas a usar en realidad es "OnClick"

//Método de tu clase en el que vas a lanzar el evento
private void Operación()
{
       //Verificando que el evento tenga suscripciones
       if (nombreDelEvento != null)
       {
               //Lanzando evento
               nombreDelEvento(this, new EventArgs());
        }
}

Ahí se está haciendo uso de un evento básico con la clase por defecto de argumentos que es EventArgs, si deseas enviar parámetros en el mensaje del evento debes crear una clase aparte que se llame algo así como "MisParametrosEventArgs" (como sea que te quede acorde al evento) y que herede de la clase "EventArgs". Luego de tenerla reemplazas en el código anterior "EventArgs" por el nombre de tu clase y a la hora de lanzar el evento instancias ese objeto llenando sus propiedades con los valores correspondientes antes de lanzar el evento.

Espero haber sido claro... :nervios:

Si no era lo que necesitabas avisas!

La explicacion no esta mal, pero es como si al man yo le dijera que los eventos estan estrechamente relacionados a los delegados, y que los delegados son como los punteros de C++ :muerto:

alguno que porfavor me pueda esplicar los eventos en c#
pues encontré unos en mva y en msdn pero son muy difíciles de entender al parecer en todo lado son terrible alguno que por favor me ayude?

Primero que nada necesitas leer acerca de eventos y delegados, si andas por estos temas asumo que sabes los conceptos basicos de OOP.

No me canso de recomendar este cursito basico Curso de Introduccion a C#

attachment.php


Para que se haga una idea de lo que tiene ;).

El tema de eventos y delegados tiende a ser un poco confuso si no los sabes manejar bien ni siquiera desde el IDE, asi que te recomiendo que leas y mires bien los videos de los delegados que son los que mas complican (a algunos), estan ambos bien explicados y detallan como se acoplan, cuando entiendas el concepto todo sera mucho mas facil, luego que los aprendes a usar, ufffffff pudes hacer muchas cosas de manera muy simples :D.


SuerteX :)
 
  • Me gusta
Reacciones: 2 personas
La explicacion no esta mal, pero es como si al man yo le dijera que los eventos estan estrechamente relacionados a los delegados, y que los delegados son como los punteros de C++ :muerto:



Primero que nada necesitas leer acerca de eventos y delegados, si andas por estos temas asumo que sabes los conceptos basicos de OOP.

No me canso de recomendar este cursito basico Curso de Introduccion a C#

attachment.php


Para que se haga una idea de lo que tiene ;).

El tema de eventos y delegados tiende a ser un poco confuso si no los sabes manejar bien ni siquiera desde el IDE, asi que te recomiendo que leas y mires bien los videos de los delegados que son los que mas complican (a algunos), estan ambos bien explicados y detallan como se acoplan, cuando entiendas el concepto todo sera mucho mas facil, luego que los aprendes a usar, ufffffff pudes hacer muchas cosas de manera muy simples :D.


SuerteX :)
No entendí lo que dijiste sobre mi comentario, obviamente di una explicación pensando en que había más necesidad de usar que de entender el fondo, hay ocasiones en las que uno tiene que hacer algo no importa tanto cómo o por qué.
 
No entendí lo que dijiste sobre mi comentario, obviamente di una explicación pensando en que había más necesidad de usar que de entender el fondo, hay ocasiones en las que uno tiene que hacer algo no importa tanto cómo o por qué.

Lo que sucede es que la explicacion que le estas dando esta muy tecnica, para mi esta clara, pero para el que a penas esta comenzando creo que todavia le esta diciendo... 明白了嗎?


SuerteX :)
 
  • Me gusta
Reacciones: 2 personas
La explicacion no esta mal, pero es como si al man yo le dijera que los eventos estan estrechamente relacionados a los delegados, y que los delegados son como los punteros de C++ :muerto:



Primero que nada necesitas leer acerca de eventos y delegados, si andas por estos temas asumo que sabes los conceptos basicos de OOP.

No me canso de recomendar este cursito basico Curso de Introduccion a C#

attachment.php


Para que se haga una idea de lo que tiene ;).

El tema de eventos y delegados tiende a ser un poco confuso si no los sabes manejar bien ni siquiera desde el IDE, asi que te recomiendo que leas y mires bien los videos de los delegados que son los que mas complican (a algunos), estan ambos bien explicados y detallan como se acoplan, cuando entiendas el concepto todo sera mucho mas facil, luego que los aprendes a usar, ufffffff pudes hacer muchas cosas de manera muy simples :D.


SuerteX :)
gracias estoy que leo desde hace varios dias todo ese curso, tambien el de 5 estrellas que publico ya casi llego a los eventos aunque creo que tardare un rato bn largo.
bueno que pena por no darles las gracias antes a ud y a venon bueno gracias :nervios:
 
Ósea que los delegados son para guardar la dirección de un método y eso sirve para asociar los métodos a muchos objetos? Por medio de eventos?
Y una pregunta también se pueden realizar en modo consola?
 
Ósea que los delegados son para guardar la dirección de un método y eso sirve para asociar los métodos a muchos objetos? Por medio de eventos?
Y una pregunta también se pueden realizar en modo consola?


Sip son como los punteros a función de C++...
Y también se pueden utilizar en la consola...

Saludos
 
  • Me gusta
Reacciones: 2 personas
A ver, en el de SQL nadie me dijo nada :(.

Descarte los WCF Callbacks, ya que para mi es mas facil hacer una sicronizacion con una base de datos local.

La pregunta es, lo puedo hacer con Service Broker o con Microsoft Sync?, algun ejemplo de alguna de las 2?

PD: me gustaria realizar una sicronizacion solo cuando exitan cambios en una tabla de una base de datos (por si tienen alguna mejor idea =)).


SuerteX :)
 
Hola.
Estoy con un problema q me esta volviendo loco.

Antes en Visual Basic 6 con el evento keypress lo solucionaba.

Aca en C# necesito que al presionar una tecla en el formulario realize una accion.

Estoy usando el siguiente codigo pero no haca nada
smiley%20-%20puzzled.gif

if(e.KeyCode == Keys.F1)
{
}

Saludos
 

Los últimos temas