Minimizar, maximizar y cerrar...
MENSAJE ORIGINAL
Me gustaria saber como controlar los eventos de las ventanas, los botones de
minimizar, maximizar y cerrar que estan en la parte superior derecha de las
ventanas.
Por ejemplo necesito controlar que si se pulsa la X antes de cerrarse
pregunte si estoy seguro. Si (Cierra), No (Sigue abierta)
He porbado con el evento closing, pero siempre se cierra por mas que le
ponga un exit sub...
Daniel.
SOLUCIÓN PROPUESTA
Para cancelar que elf ormulario se cierre debes asignar el valor en true de la variable e que es del tipo System.ComponentModel.CancelEventArgs del evento Closing del formulario.
Ejemplo:
Private Sub Form1_Closing _
(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles MyBase.Closing
Dim Condicion As Boolean
' Condición que se debe cumplir para cerrar la ventana
If Condicion = False Then
e.Cancel = True
End If
End Sub
Deberas cambiar la variable boolean por la condición que deseas que permita o no que el formulario se cierre.
Te envio un cordial saludo
Atentamente,
Raúl Guerrero
http://superneurona.blogspot.com
REFERENCIA AL GRUPO DE NOTICIAS:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.es.dotnet.vb&mid=e560bded-9e58-4574-beed-0db05ddc35f6


2 Comments:
Si yo enviara un mensage para advertircomo lo siguiente?...
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As
System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
Dim Condicion As Boolean
Dim resp As Integer
resp = MessageBox.Show("¿Realmente quieres Salir del Sistema?", "RVC Soft®",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
MessageBox.Show(resp.ToString, "Valor Devuelto SI/NO")
' Condición que se debe cumplir para cerrar la ventana
If resp = 6 Then
MessageBox.Show("Cerrar", "RVC Soft®")
e.Cancel = False
Else
MessageBox.Show("No Cerrar", "RVC Soft®")
'If Condicion = False Then
e.Cancel = True
'End If
End If
'If Condicion = False Then
'e.Cancel = True
'End If
End Sub
Siempre los valores de el boton presionado por el usuario son esos?, es
decir 6 para SI y 7 para no?...o como lo podria manejar....
Espero me ayudes.
Asi se deberia ver el código sobre la necesidad especifica que planteas
If MessageBox.Show("¿Realmente quieres Salir del Sistema?", "RVC Soft®",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
MessageBox.Show("Cerrar", "RVC Soft®")
e.Cancel = False
Else
MessageBox.Show("No Cerrar", "RVC Soft®")
e.Cancel = True
End If
DialogResult es una enumeración en donde efectivamente 6 siempre es Yes y 7
siempre en No. Pero te recomiendo usar mejor el DialogResult.Yes y el
DialogResult.No. Ya que permite que el codigo se vea mas limpio.
Espero mi respuesta te sea de utilidad.
Saludos
Raúl Guerrero
Publicar un comentario en la entrada
<< Home