La Web del Programador: Comunidad de Programadores
 
    Pregunta:  47509 - SE PUEDE CONTROLAR LA X DE UNA VENTANA MODAL?¿
Autor:  laida rico
Me gustaría saber si existe la forma de controlar la X de una ventana modal en Visual Basic.NET.
Es decir, yo al dar a la X muestro un mensaje diciendo que se va a cerrar el programa y aer si esta seguro de ello. A su vez contiene dos botones: aceptar y cancelar. Si el usuario da a aceptar no hay problema, pero si se da a cancelar se supone que no se quiere cerrar la ventana modal.
Existe alguna manera de controlar eso?
Muchas gracias

  Respuesta:  Germán Ruiz
Para hacer esto lo que debs de hacer es lo siguiente:

Si el formulario en el que estas preguntando si quiere cerrar la ventana es un MessageBox este cuando se muestra de forma modal retorna una enumeración DialogResult dependiendo de este valor puedes saber cual boton se presiono.

Si para hacer esto estas utilizando un formulario personalizado (hecho por ud.) en el evento del boton Aceptar debe de agregar este código:

Me.DialogResult=DialogResult.OK

En el boton cancelar agregar este código:

Me.DialogResult = DialogResult.Cancel

En el evento closing del formulario hay que agregar esta linea cuando se desee evitar que se cierre el formulario.

e.Cancel = True