Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Qué significa "controlar" o "manejar" un evento?

Estas en el tema de ¿Qué significa "controlar" o "manejar" un evento? en el foro de .NET en Foros del Web. Lo sé, quizá es una pregunta muy de principiantes (lo que soy, al fín y al cabo ); pero es por lo que no consigo ...
  #1 (permalink)  
Antiguo 24/04/2016, 07:13
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años, 8 meses
Puntos: 5
¿Qué significa "controlar" o "manejar" un evento?

Lo sé, quizá es una pregunta muy de principiantes (lo que soy, al fín y al cabo ); pero es por lo que no consigo entender este trozo de codigo, el cuál valida si se ha metido o no un número por teclado, y si lo ha hecho, "e.handled=false".

Código vb:
Ver original
  1. Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
  2.         If (Asc(e.KeyChar) >= 48) And (Asc(e.KeyChar) <= 57) Or (Asc(e.KeyChar) = 8) Then
  3.  
  4.             e.Handled = False
  5.         Else
  6.             e.Handled = True
  7.  
  8.  
  9.         End If

Pues eso, no consigo entender eso de que "si se ejecuta el else, quiere decir que el evento ya está controlado", o algo así, que es como lo explica mi profesora.

Un saludo.
  #2 (permalink)  
Antiguo 24/04/2016, 11:18
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: ¿Qué significa "controlar" o "manejar" un evento?

Lo que quiere decir cuando pones Handled = true es que ese evento no va a ser procesado por el sistema operativo, por lo que la tecla presionada no se verá reflejada en el TextBox. Por lo tanto, lo que consigues con esto es evitar que el usuario pueda escribir la tecla presionada.
  #3 (permalink)  
Antiguo 26/04/2016, 09:40
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años, 8 meses
Puntos: 5
Respuesta: ¿Qué significa "controlar" o "manejar" un evento?

Cita:
Iniciado por alexg88 Ver Mensaje
Lo que quiere decir cuando pones Handled = true es que ese evento no va a ser procesado por el sistema operativo, por lo que la tecla presionada no se verá reflejada en el TextBox. Por lo tanto, lo que consigues con esto es evitar que el usuario pueda escribir la tecla presionada.

Muchas gracias; el problema es que no entiendo precisamente eso, qué es "ser procesado por el sistema operativo", en este contexto. ¿No debería ser al revés, (handled=false)?

Cosas como esta me confunden mucho y no lo entiendo:

Cita:
para indicar que no se debe tener en cuenta la pulsación de dicha tecla, esto en .NET se hace asignando un valor verdadero a la propiedad Handled del objeto e:
e.Handled = True
Con esto indicamos que esa tecla ha sido "manejada" por nuestro evento y se ignorará.
De ahí que pregunte primero la base de todo esto, a ver qué es exactamente eso de "manejar un evento".
  #4 (permalink)  
Antiguo 26/04/2016, 09:59
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: ¿Qué significa "controlar" o "manejar" un evento?

Cita:
Iniciado por BramSt Ver Mensaje
Muchas gracias; el problema es que no entiendo precisamente eso, qué es "ser procesado por el sistema operativo", en este contexto. ¿No debería ser al revés, (handled=false)?
Tienes que entender como procesa Windows los eventos (esto incluye la pulsación de teclas). Windows va enviando el evento hasta que alguien lo procesa (en principio a la aplicación que tiene el foco) y si no va a hacer nada pues lo termina procesando Windows.

La propiedad Handled sirve para indicar a Windows si tu ya has procesado el evento para que él no lo haga.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 27/04/2016, 06:09
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años, 8 meses
Puntos: 5
Respuesta: ¿Qué significa "controlar" o "manejar" un evento?

Cita:
Iniciado por Malenko Ver Mensaje
Tienes que entender como procesa Windows los eventos (esto incluye la pulsación de teclas). Windows va enviando el evento hasta que alguien lo procesa (en principio a la aplicación que tiene el foco) y si no va a hacer nada pues lo termina procesando Windows.

La propiedad Handled sirve para indicar a Windows si tu ya has procesado el evento para que él no lo haga.
Muchas gracias, entonces supongo que la primera parte es entender cómo procesa Windows los eventos, lo cuál me ayudaría con mi asignatura pendiente, que es la programación en C++ orientada a eventos

Etiquetas: controlar, manejar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:09.