none
Como usar mais de um else RRS feed

  • Pergunta

  • Olá pessoal, sou novo aqui desculpe me se criei a pergunta alguma maneira erronia, ta vamos a minha pergunta, como uso mais de um else? eu estou criando um bloco de notas para aprender mas, quando vai fechar o programa aparece uma message box com 3 botões mas só tem como eu usar um if e um else, irei deixar o código talvez vocês entendam melhor oque eu quero fazer.

    private void Main_FormClosing(object sender, FormClosingEventArgs e)
    {
    	if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
            	e.Cancel = true;
            }
            else
            {
            	Application.Exit();
            }
         
    }

    segunda-feira, 22 de julho de 2013 17:33

Respostas

  • if(1º Condição)

    {

    // cai aqui se a 1º condição for verdadeira

    }

    else if(2º Condição)

    {

    // cai aqui se a 2º condição for verdadeira e a 1º condição for falsa.

    }

    else if(3º Condição)

    {

    // cai aqui se a 3º condição for verdadeira e a 1º e 2º for falsa

    }

    else

    {

    // cai aqui se todas as condições anteriores forem falsa.

    }

    segunda-feira, 22 de julho de 2013 17:50
  • Boa Tarde o seu problema estava aqui, você precisava fazer alguma comparação, mas para que funcione corretamente eu mudei a posição do seu else if

                         if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    saveFileDialog1.Title = "Salvar";
                    saveFileDialog1.FileName = "";
                    saveFileDialog1.Filter = "Arquivos de texto| *.txt";
                    saveFileDialog1.DefaultExt = "txt";
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
                        richTextBox1.Tag = null;
                    }

                   

                }
                else if (DialogResult.Cancel == DialogResult.Cancel)
                {
                    MessageBox.Show("funcionou");
                }

    Se a Resposta foi útil, por favor, qualificar, Obrigado.

     



    Paulo Caleffi


    segunda-feira, 22 de julho de 2013 19:46
  • Algo como:

    DialogResult dr = MessageBox.Show("Erro 995. Deseja continuar?", "Titulo Child", MessageBoxButtons.YesNo);
    
    switch(dr)
    {
       case DialogResult.Yes: 
       //Continua normalmente
    
       break;
    
       case DialogResult.No: 
       //Refaz o processo
    
       break;
    }

    Abraços.


    Atenciosamente, Seratti. Se esta resposta lhe ajudar "marque-a".

    sexta-feira, 26 de julho de 2013 12:45
  • Seria isso que deseja :

    private void Main_FormClosing(object sender, FormClosingEventArgs e)
    {
    	if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
            	e.Cancel = true;
            }
            else if(MessageBox.Show("Mensagem" "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
               //sua condicao
            	
            }else if(MessageBox.Show("Mensagem2" "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
        {
    Application.Exit();
    }
    }

    Se for util marque...

    segunda-feira, 22 de julho de 2013 17:43

Todas as Respostas

  • Seria isso que deseja :

    private void Main_FormClosing(object sender, FormClosingEventArgs e)
    {
    	if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
            	e.Cancel = true;
            }
            else if(MessageBox.Show("Mensagem" "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
            {
               //sua condicao
            	
            }else if(MessageBox.Show("Mensagem2" "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Cancel)
        {
    Application.Exit();
    }
    }

    Se for util marque...

    segunda-feira, 22 de julho de 2013 17:43
  • if(1º Condição)

    {

    // cai aqui se a 1º condição for verdadeira

    }

    else if(2º Condição)

    {

    // cai aqui se a 2º condição for verdadeira e a 1º condição for falsa.

    }

    else if(3º Condição)

    {

    // cai aqui se a 3º condição for verdadeira e a 1º e 2º for falsa

    }

    else

    {

    // cai aqui se todas as condições anteriores forem falsa.

    }

    segunda-feira, 22 de julho de 2013 17:50
  • Eu queria que com uma Message box usa-se as 3 condições.

    eu fiz uma condição mas da erro

    private void Main_FormClosing(object sender, FormClosingEventArgs e)
            {
                if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    saveFileDialog1.Title = "Salvar";
                    saveFileDialog1.FileName = "";
                    saveFileDialog1.Filter = "Arquivos de texto| *.txt";
                    saveFileDialog1.DefaultExt = "txt";
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
                        richTextBox1.Tag = null;
                    }
    
                    else if (DialogResult.Cancel)
                    {
                    }
                    
                }
            }

    Erro:

    Error 1 Cannot implicitly convert type 'System.Windows.Forms.DialogResult' to 'bool' C:\Users\Matheus\documents\visual studio 2010\Projects\Blocodenotas\Blocodenotas\Form1.cs 98 26 Blocodenotas

    • Editado MatheusAlcapone segunda-feira, 22 de julho de 2013 17:59 Acrescentando
    segunda-feira, 22 de julho de 2013 17:54
  • Boa Tarde o seu problema estava aqui, você precisava fazer alguma comparação, mas para que funcione corretamente eu mudei a posição do seu else if

                         if (MessageBox.Show("Deseja salvar antes de fechar o programa?", "Salvar", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    saveFileDialog1.Title = "Salvar";
                    saveFileDialog1.FileName = "";
                    saveFileDialog1.Filter = "Arquivos de texto| *.txt";
                    saveFileDialog1.DefaultExt = "txt";
                    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
                        richTextBox1.Tag = null;
                    }

                   

                }
                else if (DialogResult.Cancel == DialogResult.Cancel)
                {
                    MessageBox.Show("funcionou");
                }

    Se a Resposta foi útil, por favor, qualificar, Obrigado.

     



    Paulo Caleffi


    segunda-feira, 22 de julho de 2013 19:46
  • Algo como:

    DialogResult dr = MessageBox.Show("Erro 995. Deseja continuar?", "Titulo Child", MessageBoxButtons.YesNo);
    
    switch(dr)
    {
       case DialogResult.Yes: 
       //Continua normalmente
    
       break;
    
       case DialogResult.No: 
       //Refaz o processo
    
       break;
    }

    Abraços.


    Atenciosamente, Seratti. Se esta resposta lhe ajudar "marque-a".

    sexta-feira, 26 de julho de 2013 12:45
  • Talvez a melhor opção não seja um if-else e sim um switch-case... 

    Abraços. 


    Marcio S Silva

    sexta-feira, 26 de julho de 2013 13:18