Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: lord_Sirikon en 20 Diciembre 2010, 20:20 pm



Título: Parar cierre de aplicación en VB
Publicado por: lord_Sirikon en 20 Diciembre 2010, 20:20 pm
Hola a todos tengo una duda:

Veréis estoy haciendo un editor de textos y quiero hacer que cuando le de a cerrar, antes me diga "¿Seguro que quieres cerrar sin guardar?", Si le doy a Aceptar se me salga de la aplicacion y si le doy a cancelar que no se cierre.

Ya lo tengo casi todo, solo necesito un comando para que anule el cierre de la aplicación y no haga nada.

Os pongo el código del "Antes de cerrar" tal cual lo tengo ahora.
Código
  1. Private Sub Form1_Close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing
  2.        If saved = True Then
  3.            End
  4.        Else
  5.            If MsgBox("¿Seguro que quiere salir sin guardar?", 1) = 1 Then
  6.                End
  7.            Else
  8.                'no cerrar aplicacion
  9.            End If
  10.        End If
  11.  
  12.    End Sub

Salu2 y gracias de antemano!


Título: Re: Parar cierre de aplicación en VB
Publicado por: TGa. en 20 Diciembre 2010, 20:45 pm
No tenes que colocar nada solo quedaria asi
Código
  1. If MsgBox("Seguro que quiere salir sin guardar?", 1) = 1 Then
  2. End
en else no tenes que colocar nada


Título: Re: Parar cierre de aplicación en VB
Publicado por: Psyke1 en 20 Diciembre 2010, 21:07 pm
No tenes que colocar nada solo quedaria asi
Código
  1. If MsgBox("Seguro que quiere salir sin guardar?", 1) = 1 Then
  2. End
en else no tenes que colocar nada

Código
  1. If MsgBox("Seguro que quiere salir sin guardar?", 1) = 1 Then End

DoEvents! :P


Título: Re: Parar cierre de aplicación en VB
Publicado por: Elemental Code en 20 Diciembre 2010, 21:30 pm
el problema es que el evento tuyo esta en el form close
osea ya es inevitable.

coloca ese codigo en el boton que diga "Cerrar" :P


Título: Re: Parar cierre de aplicación en VB
Publicado por: lord_Sirikon en 20 Diciembre 2010, 21:32 pm
He probado y tampoco funciona.

¿No hay alguna acción que lo que haga sea simplemente anular el cierre o algo así?


Título: Re: Parar cierre de aplicación en VB
Publicado por: lord_Sirikon en 20 Diciembre 2010, 21:34 pm
el problema es que el evento tuyo esta en el form close
osea ya es inevitable.

coloca ese codigo en el boton que diga "Cerrar" :P

Ya xD, de ese modo si se, la cosa es colocarlo en la X de cerrar predeterminada de Windows xD


Título: Re: Parar cierre de aplicación en VB
Publicado por: Psyke1 en 20 Diciembre 2010, 21:36 pm
Código
  1. Private Sub Form_Unload(Cancel As Integer)
  2.    If MsgBox("¿Salir?", vbYesNo) = vbNo Then Cancel = True
  3. End Sub
:xD
No lei bien... :silbar:

DoEvents! :P


Título: Re: Parar cierre de aplicación en VB
Publicado por: lord_Sirikon en 20 Diciembre 2010, 21:45 pm
Código
  1. Private Sub Form_Unload(Cancel As Integer)
  2.    If MsgBox("¿Salir?", vbYesNo) = vbNo Then Cancel = True
  3. End Sub
:xD
No lei bien... :silbar:

DoEvents! :P

Que hago con eso? xDD, lo añado al código o lo sustituyo por el que e puesto yo?


Título: Re: Parar cierre de aplicación en VB
Publicado por: lord_Sirikon en 20 Diciembre 2010, 22:22 pm
Bueno como hiciera lo que hiciera se acababa cerrando lo que he hecho al final es preguntar si guardar antes o no, si le doy a si lo guarda y sale y si le doy a no pues no guarda y sale.

Salu2 a todos y gracias por la ayuda!


Título: Re: Parar cierre de aplicación en VB
Publicado por: TGa. en 20 Diciembre 2010, 23:10 pm
Perdon no habia leido bien, ahora que me fijo mejor esto va en .NET, de todos modos aqui tienes tu respuesta

Código
  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.        If saved = True Then
  3.            End
  4.        Else
  5.            If MsgBox(" Seguro que quiere salir sin guardar?", 1) = 1 Then
  6.                End
  7.            Else
  8.                e.Cancel = True
  9.            End If
  10.        End If
  11.    End Sub


Título: Re: Parar cierre de aplicación en VB
Publicado por: Psyke1 en 21 Diciembre 2010, 00:54 am
@lord_Sirikon
Lee manuales, ni aún dandote la solución sabes resolverlo... :¬¬

DoEvents! :P

Edito:

(http://img34.imageshack.us/img34/4912/fuuuuuuuuuuuuu.jpg)

Esto va en .Net
http://foro.elhacker.net/net-b62.0/


Título: Re: Parar cierre de aplicación en VB
Publicado por: BlackZeroX (Astaroth) en 24 Diciembre 2010, 01:01 am
.
Obviando varias cosas... espero que sea así.

Código
  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.    If Not saved Then
  3.        e.Cancel = MessageBox.Show("Seguro que quiere salir sin guardar?", Caption, MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.Yes
  4.    End If
  5. end sub
  6.  

Dulces Lunas!¡.
.


Título: Re: Parar cierre de aplicación en VB
Publicado por: BgCRaCK en 24 Diciembre 2010, 18:33 pm
.
Obviando varias cosas... espero que sea así.

Código
  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.    If Not saved Then
  3.        e.Cancel = MessageBox.Show("Seguro que quiere salir sin guardar?", Caption, MessageBoxButtons.YesNo) = System.Windows.Forms.DialogResult.Yes
  4.    End If
  5. end sub
  6.  

Dulces Lunas!¡.
.

Esto si que si : )      Voto este post como la mejor solucion : )

otra cosa que yo diria es :
Código
  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.  
  3. if messagebox.show("Desea cerrar ?","Cerrando Aplicación",MessageBoxButtons.YesNo)=System.Windows.Forms.DialogResult.Yes then
  4. e.cancel
  5. end if
  6.