none
Bloco de notas em c# RRS feed

  • Pergunta

  • Galera boa tarde, estou fazendo um trabalho para a escola onde é preciso fazer um bloco de notas, mas estou com uma dúvida.. como o bloco de notas no submenu do Arquivo, quando você clica em Novo.. se houver algum texto escrito ele abre a caixa de dialogo para salvar, caso não houver nada escrito ele continua em branco e não abre nem o messagebox perguntando se gostaria de salvar e nem a caixa de dialogo para salva. Eu consegui apenas a opção que se não houver texto escrito ele não abre a caixa para salvar, mas ele está abrindo o messagebox perguntando se gostaria de salvar. HELP !!
    private void novoToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(this.richTextBox1.Text))
                {
                    NovoArquivo(false);
                }
    
                DialogResult result = MessageBox.Show("Deseja Salvar as alterações em Sem título?", "Bloco de notas", MessageBoxButtons.YesNoCancel);
    
                    if(result == DialogResult.Yes && !string.IsNullOrEmpty(this.richTextBox1.Text))
                    {                    
                        NovoArquivo(true);
                    }
                    else if (result == DialogResult.No)
                    {
                        NovoArquivo(false);
                    }
            }

    segunda-feira, 11 de junho de 2018 20:14

Respostas

  • Olá!

    Não seria a falta de um 'return;' na verificação?

    Segue exemplo

    private void novoToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(this.richTextBox1.Text))
                {
                    NovoArquivo(false);
                    
                    // return tem a função de não prosseguir com o restante do método
                    return;
                }
    
                DialogResult result = MessageBox.Show("Deseja Salvar as alterações em Sem título?", "Bloco de notas", MessageBoxButtons.YesNoCancel);
    
                    if(result == DialogResult.Yes && !string.IsNullOrEmpty(this.richTextBox1.Text))
                    {                    
                        NovoArquivo(true);
                    }
                    else if (result == DialogResult.No)
                    {
                        NovoArquivo(false);
                    }
            }

    Espero que lhe ajude!

    []´s


    Leandro Ferreira
    Desenvolvedor .Net

    Skype: leandro.vipsolucoes
    GitHub: github.com/leandrovip
    leandro@vipsolucoes.com

    • Marcado como Resposta Luc4srios segunda-feira, 11 de junho de 2018 23:05
    segunda-feira, 11 de junho de 2018 21:43

Todas as Respostas

  • Olá!

    Não seria a falta de um 'return;' na verificação?

    Segue exemplo

    private void novoToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(this.richTextBox1.Text))
                {
                    NovoArquivo(false);
                    
                    // return tem a função de não prosseguir com o restante do método
                    return;
                }
    
                DialogResult result = MessageBox.Show("Deseja Salvar as alterações em Sem título?", "Bloco de notas", MessageBoxButtons.YesNoCancel);
    
                    if(result == DialogResult.Yes && !string.IsNullOrEmpty(this.richTextBox1.Text))
                    {                    
                        NovoArquivo(true);
                    }
                    else if (result == DialogResult.No)
                    {
                        NovoArquivo(false);
                    }
            }

    Espero que lhe ajude!

    []´s


    Leandro Ferreira
    Desenvolvedor .Net

    Skype: leandro.vipsolucoes
    GitHub: github.com/leandrovip
    leandro@vipsolucoes.com

    • Marcado como Resposta Luc4srios segunda-feira, 11 de junho de 2018 23:05
    segunda-feira, 11 de junho de 2018 21:43
  • Consegui ... 

    Criei uma condição de if para abrir o messagebox somente se o richTextBox for diferente de nulo ou vazio.

    private void novoToolStripMenuItem_Click(object sender, EventArgs e)
            {
                if (!string.IsNullOrEmpty(this.richTextBox1.Text))
                {
                    DialogResult result = MessageBox.Show("Deseja Salvar as alterações em Sem título?", "Bloco de notas", MessageBoxButtons.YesNoCancel);
    
                    if (result == DialogResult.Yes && !string.IsNullOrEmpty(this.richTextBox1.Text))
                    {
                        NovoArquivo(true);
                    }
                    else if (result == DialogResult.No)
                    {
                        NovoArquivo(false);
                    }
                }
            }    


    segunda-feira, 11 de junho de 2018 22:06
  • Também da certo, valeu !!
    segunda-feira, 11 de junho de 2018 23:05