none
Perguntar antes de fechar o formulário

    Pergunta

  • Olá pessoal,

     

    Minha dúvida é simples, mas estou com dificuldades para entender como se faz isto em C#. Quero que quando o usuário clique no botão de sair da janela (X) pergunte se ele deseja realmente sair. Fiz o seguinte código porém não consegui nada semelhante ao Abort do delphi que aborta o evento antes de termina-lo.

    Testei o código no Evento Closed e Closing, mas não consegui resolver

    private void frmPrincipal_Closing(object sender, System.ComponentModel.CancelEventArgs e)

    {

    if(DialogResult.Yes ==

    //Mensagem de confirmação

    MessageBox.Show("Deseja realmente sair da aplicação?",

    "Sair do FertiCerrado!",

    MessageBoxButtons.YesNo))

    {

    Application.Exit();

    }

    else

    {

    //Possível Abort?

    }

    }

    Se alguem puder me ajudar

     

    terça-feira, 3 de outubro de 2006 02:34

Respostas

  • private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      DialogResult opcaoSelecionada;
      opcaoSelecionada = MessageBox.Show("Deseja mesmo sair do sistema?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
      if (opcaoSelecionada.Equals(DialogResult.No))
        {
          e.Cancel = true;
        }
    }
    terça-feira, 3 de outubro de 2006 13:31

Todas as Respostas

  • private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      DialogResult opcaoSelecionada;
      opcaoSelecionada = MessageBox.Show("Deseja mesmo sair do sistema?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
      if (opcaoSelecionada.Equals(DialogResult.No))
        {
          e.Cancel = true;
        }
    }
    terça-feira, 3 de outubro de 2006 13:31
  • OLa Andre

    Tem uma forma de colcoar o DialogResult detro do () sem necessidade desse if, mas eu não me lembro.

    Também tem o seguinte eu queria que a opção selelcionada,a que fica ativa ali na caixa de dialogo fosse o No e do jeito que esta só fica o Yes. Tem como mudar isso?     

    domingo, 7 de abril de 2013 15:15
  • Você pode fazer direto:

    private void FrmMainMenuFormClosing(object sender, FormClosingEventArgs e)

    {            

     if(MessageBox.Show("Deseja realmente sair do sistema?", "InfoSistema",  MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)            

      {            

     e.Cancel = true;          

       }

    }

    sexta-feira, 6 de junho de 2014 19:36