Visual Basic.NET - Pasar d un evento leave sólo al pulsar botones

 
Vista:

Pasar d un evento leave sólo al pulsar botones

Publicado por Tíu (7 intervenciones) el 13/11/2003 02:21:58
Imaginaos un formulario que tenga un textbox y un boton para cerrar el formulario. El texbox tiene un evento leave de forma que cada vez que se pierda el foco salga un mensajillo. ¿Cómo hago para que cuando pulso el botón para cerrar el formulario no me salga el mesaje generado por el evento leave? Espero que me explicase más o menos bien.

Y ya que estamos cómo detecto que se ha pulsado el botón de cerrar un formulario, ya sabéis, la cruz roja de la esquina superior derecha del form?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pasar d un evento leave sólo al pulsar botones

Publicado por Edgar (1501 intervenciones) el 13/11/2003 02:44:20
Hola

El evento que debes manejar para detectar que pulsaste el botón de cerrar es el evento Closing, sin embargo, este método se ejecuta tambien cuando cierras el formulario.... O en su defecto puedes usar el metodo OnClosing, puedes usar el argumento de tipo CancelEventArgs para evitar que se cierre el formulario si lo deseas.

Por otra parte... en tu primera pregunta.. alli hay un problemita, porque primero se ejecuta el evento leave del textbox antes que el getfocus del boton... porque primero se pierde el foco del textbox antes de que lo gane el boton.. asi que siempre vas a ver el mensajito....

Te puedo sugerir dos cosas.. usa el ErrorProvider para dar la alerta (el mensaje) o no lanzes el evento leave cuando pierda el foco del formulario... es decir.. busca otra alternativa

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Pasar d un evento leave sólo al pulsar botones

Publicado por JAVIER (15 intervenciones) el 05/03/2023 12:37:36
Me ocurre lo mismo que Tíu
Y precisamente quiero que me ayudeis a buscar la alternativa que comenta Edgar
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar