Jump to content
Exodia

Como fechar programa aparecendo uma MsgBox??

Recommended Posts

Exodia

Gostaria que ao fechar o meu programa nos icones do windows, aparecer-se uma MsgBox a perguntar "se deseja mesmo fechar"..

eu para fechar uma form sei fazer, mas eu queria ao fechar nos icones do Windows???

Share this post


Link to post
Share on other sites
scorch

No evento BeforeClosing ou algo do género mostras a MessageBox e se o utilizador clicar em OK, fechas, senão fazes e.Cancel.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Exodia

Private Sub beforeclosing()

If MsgBox("Deseja mesmo sair?", vbYesNo + vbQuestion, "Sair") = vbYes Then
      End
          Else
          e.Cancel
End If

End Sub

eu fiz assim mas ñ deu...

Share this post


Link to post
Share on other sites
jpaulino

Mas é em VB6 ou VB.NET ?

VB6

Private Sub Form_Unload(Cancel As Integer)
    If MsgBox("Deseja mesmo sair?", vbYesNo + vbQuestion, "Sair") = vbYes Then
        End
    Else
       Cancel = True
    End If
End Sub

VB.NET

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MsgBox("Deseja mesmo sair?", vbYesNo + vbQuestion, "Sair") = vbYes Then
            Application.Exit()
        Else
            e.Cancel = True
        End If
    End Sub

Share this post


Link to post
Share on other sites
Exodia

é em Vb6.. mas tipo utilizo um MDIForm

e quero ao fechar nos icones do windows quero que apareça um MsgBox a perguntar.. por eu numa Form sei fazer :confused:

Share this post


Link to post
Share on other sites
GoncaloMendes

Não sei se funciona em forms MIDI mas existe um evento Form_Unload que pode ser usada para o que pretendes.

Tem em atenção que não podes ter como evento de fechar a form abrir essa mesma form, isso origina um erro "Form qlqr-coisa is closing" ou assim. Podes é atribuir esse evento a abertura duma form escondida com um contador para abrir a form que acabast de fechar de novo alguns milisegundos depois lol...

Mas é mais facil retirar o botão de Fechar da form e criar um controlo dentro da form para fechar, ai podes facilmente não fechar a form se a resposta do utilizador for não.


I just wanna say one word to you, just one word: Plastics

Share this post


Link to post
Share on other sites
Exodia

mas o que eu queria mesmo era fechar daquela maneira... porque eu no meu programa também pus na FormMDI um ligação para fechar...e faz a pergunta mas se fechar no icone do windows ñ pergunta lol... obrigado na mesma... :confused:

Por acaso ñ sabes como é que se guarda uma imagem na base de dados em MySql??

Share this post


Link to post
Share on other sites
Exodia

Private Sub Form_Unload(Cancel As Integer)
If MsgBox("Deseja memso encerrar o porgrama?", vbQuestion + vbYesNo, "Sair") = vbNo Then
Cancel = True
Else
Form go
End If
End Sub

Simplest explaination

Private Sub Form_Unload(Cancel As Integer)
If Not ConditionToExit Then
Cancel = True
End If
End Sub

ñ estou a conseguir

da-me erro no segundo private sub ....... "ambiguous name" pus o nome da formMdi mas depois no programa... ñ fecha como eu queria...

Share this post


Link to post
Share on other sites
GoncaloMendes

Não percebi o que te levou a programar isso, experimentaste:

Private Sub Form_Unload(Cancel As Integer)
If MsgBox("Deseja mesmo encerrar o programa?", vbQuestion + vbYesNo, "Sair") = vbNo Then
Cancel = 1
End If
End Sub


I just wanna say one word to you, just one word: Plastics

Share this post


Link to post
Share on other sites
Exodia

ñ percebes-te porque que estou a fazer o programa??

já experimentei e nada...

a minha form MDI neste momento está assim

Option Explicit

Private Sub arm_Click()
    frmArmazem.Show
End Sub

Private Sub Gespaços_Click()
frmGestQuintas.Show
End Sub

Private Sub Gfunc_Click()
    frmGestFunc.Show
End Sub

Private Sub GMenus_Click()
    frmGestMenus.Show
End Sub

Private Sub MServicos_Click()
    frmMarcServicos.Show
End Sub

Private Sub sair_Click()
    If MsgBox("Deseja mesmo sair?", vbYesNo + vbQuestion, "Sair") = vbYes Then
        End
    End If
End Sub

Private Sub Sobre_Click()
    frmAbout.Show
End Sub
'Private Sub beforeclosing(cancel As Integer)

If MsgBox("Deseja mesmo sair?", vbYesNo + vbQuestion, "Sair") = vbYes Then
      End
        Else
            Cancel = True
End If

End Sub
Private Sub MDIMenu_Unload(Cancel As Integer)
If MsgBox("Deseja mesmo encerrar o programa?", vbQuestion + vbYesNo, "Sair") = vbNo Then
Cancel = 1
End If
End Sub

e nada aquilo fecha normalmente...

Share this post


Link to post
Share on other sites
GoncaloMendes

O código afinal é, há uma pequena diferença nos dois, já deve funcionar  :confused:

Private Sub MDIForm_Unload(Cancel As Integer)
If MsgBox("Deseja mesmo encerrar o programa?", vbQuestion + vbYesNo, "Sair") = vbNo Then
Cancel = 1
End If
End Sub


I just wanna say one word to you, just one word: Plastics

Share this post


Link to post
Share on other sites
HawkCoder

Usando este código a MessageBox aparece.

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing


Dim result As DialogResult
result = MessageBox.Show("Deseja realmente sair?", "Sair", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If (result = DialogResult.No) Then
e.Cancel = True
End If

Edited by Rui Carlos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.