Eventos en C# (Event)

26/10/2007 - 14:32 por Carla Rincon | Informe spam
He visto que C# tiene un tipo llamado 'Event' significando que se pueden
definir eventos. Mi duda es si esos eventos funcionan similar a los
eventos predeterminados como Load, Click, etc.
O de no ser asi, que utilidad tiene definir esos eventos ('Event') en un
programa?

Carla Rincon

Preguntas similare

Leer las respuestas

#11 RFOG [MVP C++]
31/10/2007 - 09:58 | Informe spam
No, no hay ninguna... si los usas como hace el .NET.

Es decir, los eventos que dispara y consume el net son eventos normales y
corrientes, pero están basados en una jerarquía de clases bastante liosa;
es decir, no son una instancia de un método declarado como "event", sino
que pertencen a una estructura de clases, etc, etc. Pero a la hora de
lanzarlo se hace de la misma forma.

Esperate a esta tarde o mañana y pongo una entrada en mi blog sobre el
tema (sacándolo del libro que he comentado).

Respecto a lo que comentas en tu respuesta a Alberto, el proceso es más o
menos este (ojo que lo digo de memoria):

cada ventana tiene un método que se llama "bucle de mensajes", que es un
callback que se instala al declarar una nueva ventana y que windows llama
cada vez que se prodiza un mensaje (click, doble click, arrastrar, pulsar
una tecla, pintado...). En esa función hay un case gigantesco (si se hace
bien es un array de punteros a funciones) que va cogiendo y procesando
cada mensaje. Por ejemplo:

case WM_CLICK:
//código
break;
case WM_DBLCLICK:
...

Ese código mira qué ventana ha generado el evento a través de su handle,
busca la clase que se corresponde a esa ventana, y dispara el evento
correspondiente... si está definido o asignado. En .NET ese evento es un
evento normal y corriente, pero se definen una serie de reglas por diseño
y porque en cierto modo simplifican y ponen orden en el sistema de paso de
mensajes de Windows, que es bastante caótico.

Y hay componentes .NET que no tienen bucle de mensajes de windows (no sé
cómo lo harán, porque en W. todo es una ventana que puede tener su bucle
de mensajes), pero el principio es el mismo: cuando se reciba un click se
lanza tal evento.


On Wed, 31 Oct 2007 03:31:11 +0100, principiante wrote:

Pues, al nivel de aplicacion, sí hay diferencia entonces... o no ?
oops... ya me confundí :(

Jose TH


"RFOG [MVP C++]" escribió en el
mensaje
news:
Claro.

La diferencia estriba en que los eventos que ya vienen creados los crea
el
.NET en sus tripas a partir del bucle de mensajes de la ventana, y los
nuestros pues no porque en principio no tenemos acceso en .NET a dicho
bucle (que sí tenemos en parte).

El amigo Nishant Sivakumar en su "C++/CLI in action" explica cómo es el
formato de esos eventos y cómo crear nuestros propios eventos "a la
.NET",
aunque no profundiza mucho.

On Tue, 30 Oct 2007 10:46:20 +0100, Octavio Hernandez
wrote:

Hola,

Solo para apoyar lo que dice Alberto: no hay NINGUNA diferencia entre
esas dos "clases" de eventos.
Si la hubiera, el sistema no sería "honesto": habría cosas que él hace
y
que tú como programador no podrías lograr.
Desconfía de un sistema así cuando lo veas.

Saludos - Octavio



"principiante" wrote in message
news:%
Aunque sí hay una diferencia y es que estos eventos de usuario deben
ser llamados o 'generados' explícitamente. Los 'predeterminados' son
automáticos, como es lógico (click, textchanged, enter, etc.).


Jose TH


"Alberto Poblacion"
wrote in message news:OD7C%
"Carla Rincon" <_> wrote in message
news:ufR%
He visto que C# tiene un tipo llamado 'Event' significando que se
pueden definir eventos. Mi duda es si esos eventos funcionan
similar
a los eventos predeterminados como Load, Click, etc.



Por supuesto que funcionan de forma similar a los que llamas
"predeterminados". De hecho, los componentes tales como el Form o el
Button que disparan dichos eventos, son en realidad clases
programadas
con C# y que por dentro tienen el evento definido como "event".
Puedes
hacer exactamente lo mismo en tus clases, a estos efectos no difieren
nada de las que vienen ya compiladas dentro de las DLLs de .Net.















Microsoft Visual C++ MVP
==>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Dios existe; pero no tiene ninguna prisa de hacerlo saber.
Respuesta Responder a este mensaje
#12 principiante
31/10/2007 - 13:38 | Informe spam
Cuando yo hablaba de que esos eventos predeterminados son 'automáticos' lo
que he querido decir es que no tengo que llamarlos yo explícitamente a nivel
de mi aplicación ya que como muy bien tu explicas su ocurrencia, en terminos
practicos, me es transparente. O sea, como si fuesen 'Automáticos' para los
fines que se trata. Que en las clases base (ventanas) ocurra la misma idea
pero basada en los mensajes basicos de windows, ok, pero me es transparente
ya que sobre la ocurrencia de estos mensajes no tenemos control. .NET solo
los identifica y les da forma algo mas amigable, segun lo que explicas.

Muchas gracias por la detallada explicación, estare pendiente para
revisarlo con mas calma en tu blog.


Jose TH



"RFOG [MVP C++]" escribió en el mensaje
news:
No, no hay ninguna... si los usas como hace el .NET.

Es decir, los eventos que dispara y consume el net son eventos normales y
corrientes, pero están basados en una jerarquía de clases bastante liosa;
es decir, no son una instancia de un método declarado como "event", sino
que pertencen a una estructura de clases, etc, etc. Pero a la hora de
lanzarlo se hace de la misma forma.

Esperate a esta tarde o mañana y pongo una entrada en mi blog sobre el
tema (sacándolo del libro que he comentado).

Respecto a lo que comentas en tu respuesta a Alberto, el proceso es más o
menos este (ojo que lo digo de memoria):

cada ventana tiene un método que se llama "bucle de mensajes", que es un
callback que se instala al declarar una nueva ventana y que windows llama
cada vez que se prodiza un mensaje (click, doble click, arrastrar, pulsar
una tecla, pintado...). En esa función hay un case gigantesco (si se hace
bien es un array de punteros a funciones) que va cogiendo y procesando
cada mensaje. Por ejemplo:

case WM_CLICK:
//código
break;
case WM_DBLCLICK:
...

Ese código mira qué ventana ha generado el evento a través de su handle,
busca la clase que se corresponde a esa ventana, y dispara el evento
correspondiente... si está definido o asignado. En .NET ese evento es un
evento normal y corriente, pero se definen una serie de reglas por diseño
y porque en cierto modo simplifican y ponen orden en el sistema de paso de
mensajes de Windows, que es bastante caótico.

Y hay componentes .NET que no tienen bucle de mensajes de windows (no sé
cómo lo harán, porque en W. todo es una ventana que puede tener su bucle
de mensajes), pero el principio es el mismo: cuando se reciba un click se
lanza tal evento.


On Wed, 31 Oct 2007 03:31:11 +0100, principiante
wrote:

Pues, al nivel de aplicacion, sí hay diferencia entonces... o no ?
oops... ya me confundí :(

Jose TH


"RFOG [MVP C++]" escribió en el
mensaje
news:
Claro.

La diferencia estriba en que los eventos que ya vienen creados los crea
el
.NET en sus tripas a partir del bucle de mensajes de la ventana, y los
nuestros pues no porque en principio no tenemos acceso en .NET a dicho
bucle (que sí tenemos en parte).

El amigo Nishant Sivakumar en su "C++/CLI in action" explica cómo es el
formato de esos eventos y cómo crear nuestros propios eventos "a la
.NET",
aunque no profundiza mucho.

On Tue, 30 Oct 2007 10:46:20 +0100, Octavio Hernandez
wrote:

Hola,

Solo para apoyar lo que dice Alberto: no hay NINGUNA diferencia entre
esas dos "clases" de eventos.
Si la hubiera, el sistema no sería "honesto": habría cosas que él hace
y
que tú como programador no podrías lograr.
Desconfía de un sistema así cuando lo veas.

Saludos - Octavio



"principiante" wrote in message
news:%
Aunque sí hay una diferencia y es que estos eventos de usuario deben
ser llamados o 'generados' explícitamente. Los 'predeterminados' son
automáticos, como es lógico (click, textchanged, enter, etc.).


Jose TH


"Alberto Poblacion"
wrote in message news:OD7C%
"Carla Rincon" <_> wrote in message
news:ufR%
He visto que C# tiene un tipo llamado 'Event' significando que se
pueden definir eventos. Mi duda es si esos eventos funcionan
similar
a los eventos predeterminados como Load, Click, etc.



Por supuesto que funcionan de forma similar a los que llamas
"predeterminados". De hecho, los componentes tales como el Form o el
Button que disparan dichos eventos, son en realidad clases
programadas
con C# y que por dentro tienen el evento definido como "event".
Puedes
hacer exactamente lo mismo en tus clases, a estos efectos no difieren
nada de las que vienen ya compiladas dentro de las DLLs de .Net.















Microsoft Visual C++ MVP
==>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
> Dios existe; pero no tiene ninguna prisa de hacerlo saber.
Respuesta Responder a este mensaje
#13 RFOG [MVP C++]
31/10/2007 - 17:40 | Informe spam
Pues ya la tienes:
http://geeks.ms/blogs/rfog/archive/...t-net.aspx

Como estoy teniendo serios problemas para que el código salga de forma
mínimamente aceptable en el blog, dentro de la entrada se puede bajar un
PDF que contiene lo que debería haber sido la entrada en sí.

On Wed, 31 Oct 2007 13:38:17 +0100, principiante wrote:

Cuando yo hablaba de que esos eventos predeterminados son 'automáticos'
lo
que he querido decir es que no tengo que llamarlos yo explícitamente a
nivel
de mi aplicación ya que como muy bien tu explicas su ocurrencia, en
terminos
practicos, me es transparente. O sea, como si fuesen 'Automáticos' para
los
fines que se trata. Que en las clases base (ventanas) ocurra la misma
idea
pero basada en los mensajes basicos de windows, ok, pero me es
transparente
ya que sobre la ocurrencia de estos mensajes no tenemos control. .NET
solo
los identifica y les da forma algo mas amigable, segun lo que explicas.

Muchas gracias por la detallada explicación, estare pendiente para
revisarlo con mas calma en tu blog.


Jose TH



"RFOG [MVP C++]" escribió en el
mensaje
news:
No, no hay ninguna... si los usas como hace el .NET.

Es decir, los eventos que dispara y consume el net son eventos normales
y
corrientes, pero están basados en una jerarquía de clases bastante
liosa;
es decir, no son una instancia de un método declarado como "event", sino
que pertencen a una estructura de clases, etc, etc. Pero a la hora de
lanzarlo se hace de la misma forma.

Esperate a esta tarde o mañana y pongo una entrada en mi blog sobre el
tema (sacándolo del libro que he comentado).

Respecto a lo que comentas en tu respuesta a Alberto, el proceso es más
o
menos este (ojo que lo digo de memoria):

cada ventana tiene un método que se llama "bucle de mensajes", que es un
callback que se instala al declarar una nueva ventana y que windows
llama
cada vez que se prodiza un mensaje (click, doble click, arrastrar,
pulsar
una tecla, pintado...). En esa función hay un case gigantesco (si se
hace
bien es un array de punteros a funciones) que va cogiendo y procesando
cada mensaje. Por ejemplo:

case WM_CLICK:
//código
break;
case WM_DBLCLICK:
...

Ese código mira qué ventana ha generado el evento a través de su handle,
busca la clase que se corresponde a esa ventana, y dispara el evento
correspondiente... si está definido o asignado. En .NET ese evento es un
evento normal y corriente, pero se definen una serie de reglas por
diseño
y porque en cierto modo simplifican y ponen orden en el sistema de paso
de
mensajes de Windows, que es bastante caótico.

Y hay componentes .NET que no tienen bucle de mensajes de windows (no sé
cómo lo harán, porque en W. todo es una ventana que puede tener su bucle
de mensajes), pero el principio es el mismo: cuando se reciba un click
se
lanza tal evento.


On Wed, 31 Oct 2007 03:31:11 +0100, principiante
wrote:

Pues, al nivel de aplicacion, sí hay diferencia entonces... o no ?
oops... ya me confundí :(

Jose TH


"RFOG [MVP C++]" escribió en el
mensaje
news:
Claro.

La diferencia estriba en que los eventos que ya vienen creados los
crea
el
.NET en sus tripas a partir del bucle de mensajes de la ventana, y los
nuestros pues no porque en principio no tenemos acceso en .NET a dicho
bucle (que sí tenemos en parte).

El amigo Nishant Sivakumar en su "C++/CLI in action" explica cómo es
el
formato de esos eventos y cómo crear nuestros propios eventos "a la
.NET",
aunque no profundiza mucho.

On Tue, 30 Oct 2007 10:46:20 +0100, Octavio Hernandez
wrote:

Hola,

Solo para apoyar lo que dice Alberto: no hay NINGUNA diferencia entre
esas dos "clases" de eventos.
Si la hubiera, el sistema no sería "honesto": habría cosas que él
hace
y
que tú como programador no podrías lograr.
Desconfía de un sistema así cuando lo veas.

Saludos - Octavio



"principiante" wrote in message
news:%
Aunque sí hay una diferencia y es que estos eventos de usuario
deben
ser llamados o 'generados' explícitamente. Los 'predeterminados'
son
automáticos, como es lógico (click, textchanged, enter, etc.).


Jose TH


"Alberto Poblacion"
wrote in message news:OD7C%
"Carla Rincon" <_> wrote in message
news:ufR%
He visto que C# tiene un tipo llamado 'Event' significando que se
pueden definir eventos. Mi duda es si esos eventos funcionan
similar
a los eventos predeterminados como Load, Click, etc.



Por supuesto que funcionan de forma similar a los que llamas
"predeterminados". De hecho, los componentes tales como el Form o
el
Button que disparan dichos eventos, son en realidad clases
programadas
con C# y que por dentro tienen el evento definido como "event".
Puedes
hacer exactamente lo mismo en tus clases, a estos efectos no
difieren
nada de las que vienen ya compiladas dentro de las DLLs de .Net.















Microsoft Visual C++ MVP
==>>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Dios existe; pero no tiene ninguna prisa de hacerlo saber.
Respuesta Responder a este mensaje
#14 principiante
01/11/2007 - 01:40 | Informe spam
Muchas gracias por la importante aportación que has dado a este tema.

Saludos

Jose TH




"RFOG [MVP C++]" escribió en el mensaje
news:
Pues ya la tienes:
http://geeks.ms/blogs/rfog/archive/...t-net.aspx

Como estoy teniendo serios problemas para que el código salga de forma
mínimamente aceptable en el blog, dentro de la entrada se puede bajar un
PDF que contiene lo que debería haber sido la entrada en sí.

On Wed, 31 Oct 2007 13:38:17 +0100, principiante
wrote:

Cuando yo hablaba de que esos eventos predeterminados son 'automáticos'
lo
que he querido decir es que no tengo que llamarlos yo explícitamente a
nivel
de mi aplicación ya que como muy bien tu explicas su ocurrencia, en
terminos
practicos, me es transparente. O sea, como si fuesen 'Automáticos' para
los
fines que se trata. Que en las clases base (ventanas) ocurra la misma
idea
pero basada en los mensajes basicos de windows, ok, pero me es
transparente
ya que sobre la ocurrencia de estos mensajes no tenemos control. .NET
solo
los identifica y les da forma algo mas amigable, segun lo que explicas.

Muchas gracias por la detallada explicación, estare pendiente para
revisarlo con mas calma en tu blog.


Jose TH



"RFOG [MVP C++]" escribió en el
mensaje
news:
No, no hay ninguna... si los usas como hace el .NET.

Es decir, los eventos que dispara y consume el net son eventos normales
y
corrientes, pero están basados en una jerarquía de clases bastante
liosa;
es decir, no son una instancia de un método declarado como "event", sino
que pertencen a una estructura de clases, etc, etc. Pero a la hora de
lanzarlo se hace de la misma forma.

Esperate a esta tarde o mañana y pongo una entrada en mi blog sobre el
tema (sacándolo del libro que he comentado).

Respecto a lo que comentas en tu respuesta a Alberto, el proceso es más
o
menos este (ojo que lo digo de memoria):

cada ventana tiene un método que se llama "bucle de mensajes", que es un
callback que se instala al declarar una nueva ventana y que windows
llama
cada vez que se prodiza un mensaje (click, doble click, arrastrar,
pulsar
una tecla, pintado...). En esa función hay un case gigantesco (si se
hace
bien es un array de punteros a funciones) que va cogiendo y procesando
cada mensaje. Por ejemplo:

case WM_CLICK:
//código
break;
case WM_DBLCLICK:
...

Ese código mira qué ventana ha generado el evento a través de su handle,
busca la clase que se corresponde a esa ventana, y dispara el evento
correspondiente... si está definido o asignado. En .NET ese evento es un
evento normal y corriente, pero se definen una serie de reglas por
diseño
y porque en cierto modo simplifican y ponen orden en el sistema de paso
de
mensajes de Windows, que es bastante caótico.

Y hay componentes .NET que no tienen bucle de mensajes de windows (no sé
cómo lo harán, porque en W. todo es una ventana que puede tener su bucle
de mensajes), pero el principio es el mismo: cuando se reciba un click
se
lanza tal evento.


On Wed, 31 Oct 2007 03:31:11 +0100, principiante
wrote:

Pues, al nivel de aplicacion, sí hay diferencia entonces... o no ?
oops... ya me confundí :(

Jose TH


"RFOG [MVP C++]" escribió en el
mensaje
news:
Claro.

La diferencia estriba en que los eventos que ya vienen creados los
crea
el
.NET en sus tripas a partir del bucle de mensajes de la ventana, y los
nuestros pues no porque en principio no tenemos acceso en .NET a dicho
bucle (que sí tenemos en parte).

El amigo Nishant Sivakumar en su "C++/CLI in action" explica cómo es
el
formato de esos eventos y cómo crear nuestros propios eventos "a la
.NET",
aunque no profundiza mucho.

On Tue, 30 Oct 2007 10:46:20 +0100, Octavio Hernandez
wrote:

Hola,

Solo para apoyar lo que dice Alberto: no hay NINGUNA diferencia entre
esas dos "clases" de eventos.
Si la hubiera, el sistema no sería "honesto": habría cosas que él
hace
y
que tú como programador no podrías lograr.
Desconfía de un sistema así cuando lo veas.

Saludos - Octavio



"principiante" wrote in message
news:%
Aunque sí hay una diferencia y es que estos eventos de usuario
deben
ser llamados o 'generados' explícitamente. Los 'predeterminados'
son
automáticos, como es lógico (click, textchanged, enter, etc.).


Jose TH


"Alberto Poblacion"
wrote in message news:OD7C%
"Carla Rincon" <_> wrote in message
news:ufR%
He visto que C# tiene un tipo llamado 'Event' significando que se
pueden definir eventos. Mi duda es si esos eventos funcionan
similar
a los eventos predeterminados como Load, Click, etc.



Por supuesto que funcionan de forma similar a los que llamas
"predeterminados". De hecho, los componentes tales como el Form o
el
Button que disparan dichos eventos, son en realidad clases
programadas
con C# y que por dentro tienen el evento definido como "event".
Puedes
hacer exactamente lo mismo en tus clases, a estos efectos no
difieren
nada de las que vienen ya compiladas dentro de las DLLs de .Net.















Microsoft Visual C++ MVP
==>>>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
> Dios existe; pero no tiene ninguna prisa de hacerlo saber.
Respuesta Responder a este mensaje
#15 RFOG [MVP C++]
01/11/2007 - 10:45 | Informe spam
Pues todavía se me han escapado algunas cosas... Estate atento.

On Thu, 01 Nov 2007 01:40:47 +0100, principiante wrote:

Muchas gracias por la importante aportación que has dado a este tema.

Saludos

Jose TH




"RFOG [MVP C++]" escribió en el
mensaje
news:
Pues ya la tienes:
http://geeks.ms/blogs/rfog/archive/...t-net.aspx

Como estoy teniendo serios problemas para que el código salga de forma
mínimamente aceptable en el blog, dentro de la entrada se puede bajar un
PDF que contiene lo que debería haber sido la entrada en sí.

On Wed, 31 Oct 2007 13:38:17 +0100, principiante
wrote:

Cuando yo hablaba de que esos eventos predeterminados son 'automáticos'
lo
que he querido decir es que no tengo que llamarlos yo explícitamente a
nivel
de mi aplicación ya que como muy bien tu explicas su ocurrencia, en
terminos
practicos, me es transparente. O sea, como si fuesen 'Automáticos'
para
los
fines que se trata. Que en las clases base (ventanas) ocurra la misma
idea
pero basada en los mensajes basicos de windows, ok, pero me es
transparente
ya que sobre la ocurrencia de estos mensajes no tenemos control. .NET
solo
los identifica y les da forma algo mas amigable, segun lo que explicas.

Muchas gracias por la detallada explicación, estare pendiente para
revisarlo con mas calma en tu blog.


Jose TH



"RFOG [MVP C++]" escribió en el
mensaje
news:
No, no hay ninguna... si los usas como hace el .NET.

Es decir, los eventos que dispara y consume el net son eventos
normales
y
corrientes, pero están basados en una jerarquía de clases bastante
liosa;
es decir, no son una instancia de un método declarado como "event",
sino
que pertencen a una estructura de clases, etc, etc. Pero a la hora de
lanzarlo se hace de la misma forma.

Esperate a esta tarde o mañana y pongo una entrada en mi blog sobre el
tema (sacándolo del libro que he comentado).

Respecto a lo que comentas en tu respuesta a Alberto, el proceso es
más
o
menos este (ojo que lo digo de memoria):

cada ventana tiene un método que se llama "bucle de mensajes", que es
un
callback que se instala al declarar una nueva ventana y que windows
llama
cada vez que se prodiza un mensaje (click, doble click, arrastrar,
pulsar
una tecla, pintado...). En esa función hay un case gigantesco (si se
hace
bien es un array de punteros a funciones) que va cogiendo y procesando
cada mensaje. Por ejemplo:

case WM_CLICK:
//código
break;
case WM_DBLCLICK:
...

Ese código mira qué ventana ha generado el evento a través de su
handle,
busca la clase que se corresponde a esa ventana, y dispara el evento
correspondiente... si está definido o asignado. En .NET ese evento es
un
evento normal y corriente, pero se definen una serie de reglas por
diseño
y porque en cierto modo simplifican y ponen orden en el sistema de
paso
de
mensajes de Windows, que es bastante caótico.

Y hay componentes .NET que no tienen bucle de mensajes de windows (no

cómo lo harán, porque en W. todo es una ventana que puede tener su
bucle
de mensajes), pero el principio es el mismo: cuando se reciba un click
se
lanza tal evento.


On Wed, 31 Oct 2007 03:31:11 +0100, principiante
wrote:

Pues, al nivel de aplicacion, sí hay diferencia entonces... o no ?
oops... ya me confundí :(

Jose TH


"RFOG [MVP C++]" escribió en el
mensaje
news:
Claro.

La diferencia estriba en que los eventos que ya vienen creados los
crea
el
.NET en sus tripas a partir del bucle de mensajes de la ventana, y
los
nuestros pues no porque en principio no tenemos acceso en .NET a
dicho
bucle (que sí tenemos en parte).

El amigo Nishant Sivakumar en su "C++/CLI in action" explica cómo es
el
formato de esos eventos y cómo crear nuestros propios eventos "a la
.NET",
aunque no profundiza mucho.

On Tue, 30 Oct 2007 10:46:20 +0100, Octavio Hernandez
wrote:

Hola,

Solo para apoyar lo que dice Alberto: no hay NINGUNA diferencia
entre
esas dos "clases" de eventos.
Si la hubiera, el sistema no sería "honesto": habría cosas que él
hace
y
que tú como programador no podrías lograr.
Desconfía de un sistema así cuando lo veas.

Saludos - Octavio



"principiante" wrote in message
news:%
Aunque sí hay una diferencia y es que estos eventos de usuario
deben
ser llamados o 'generados' explícitamente. Los 'predeterminados'
son
automáticos, como es lógico (click, textchanged, enter, etc.).


Jose TH


"Alberto Poblacion"

wrote in message news:OD7C%
"Carla Rincon" <_> wrote in message
news:ufR%
He visto que C# tiene un tipo llamado 'Event' significando que
se
pueden definir eventos. Mi duda es si esos eventos funcionan
similar
a los eventos predeterminados como Load, Click, etc.



Por supuesto que funcionan de forma similar a los que llamas
"predeterminados". De hecho, los componentes tales como el Form o
el
Button que disparan dichos eventos, son en realidad clases
programadas
con C# y que por dentro tienen el evento definido como "event".
Puedes
hacer exactamente lo mismo en tus clases, a estos efectos no
difieren
nada de las que vienen ya compiladas dentro de las DLLs de .Net.















Microsoft Visual C++ MVP
==>>>>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>>>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==>>>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>>>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==>> Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
>> Dios existe; pero no tiene ninguna prisa de hacerlo saber.









Microsoft Visual C++ MVP
==Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Dios existe; pero no tiene ninguna prisa de hacerlo saber.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida