• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Exodia

Como fechar programa aparecendo uma MsgBox??

14 mensagens neste tópico

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???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é 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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ñ 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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

Editado por Rui Carlos
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora