none
Dúvida sobre MessageBox.Show RRS feed

  • Pergunta

  • Boa tarde pessoal

    Estou com a seguinte dúvida...

    Fiz um pequeno progaminha de agenda em C#, na hora de clicar no botão gravar, o sistema vai analisar se o campo nome está em branco ou não, se tiver em branco ele dá uma mensagem avisando que nao pode ser em branco, e foca no campo branco, senão ele grava tudo..... o problema está que quando clico no MessageBox ele fecha o sistema inteirinho, na verdade só queria que ele desse uma mensagem, segue o codigo...

     

        private void button5_Click(object sender, EventArgs e)
        {
          if (txtNome.Text == "")
          {
            MessageBox.Show("Nome em branco!!!", "Erro ao gravar");
          }
          else
          {
            //gravar inclusao/alteracao  
            string sNome = txtNome.Text;
            string sTelRes = txtResidencial.Text;
            string sTelCom = txtComercial.Text;
            string sCel1 = txtCel1.Text;
            string sCel2 = txtCel2.Text;
     
    Alguem pode me ajudar??? Obrigado

    quarta-feira, 11 de maio de 2011 18:44

Respostas

  • Pessoal, muito obrigado mais uma vez.... o problema todo estava porque eu abri o banco de dados, no evento errado do form... no evento "activated", percebi que do "nada" o sistema também fechava sozinho!!! Foi mudar a abertura do banco no evento correto, e tudo funcionou perfeitamente, inclusive o MessageBox, agora ele exibe sem fechar o sistema.... estou postando porque pode ajudar outras pessoas, ou seja "o problema central era que o banco não estava aberto em um dos eventos possiveis, quando defini como actived - toda hora ele ficava tentando abrir o banco de dados - que já estava aberto, e ainda por cima, na abertura não tratei o erro com try - catch ... dai já viu né, ou seja, bobagem - atras de bobagem - estou iniciando em C# e to gostando muito!!!"

    Obrigado a todos.

    • Marcado como Resposta Andy-Koala sexta-feira, 13 de maio de 2011 12:28
    sexta-feira, 13 de maio de 2011 12:28

Todas as Respostas

  • Nao tem nada de errado com o trecho de codigo que vc postou. Cole aqui todo o codigo do evento click.. creio que o problema esta um pouco mais distante nesse seu codigo. Para finalizar todo um sistema é necessário que vc execute um: Environment.Exit(0); Att
    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    quarta-feira, 11 de maio de 2011 19:01
  • Só para complementar tenta usar um return depois de exibir a mensagem e veja se funciona, mas acho que deve ser isto que o William postou ex:

     private void button5_Click(object sender, EventArgs e)
      {
       if (txtNome.Text == "")
       {
        MessageBox.Show("Nome em branco!!!", "Erro ao gravar");
        return;
       }
       else
       {
    
    

     

    Abraços e espero ter ajudado.

     


    Estudar, Estudar e Estudar! Não existe caminho curto.
    quarta-feira, 11 de maio de 2011 19:11
  • andaohse,

    Concordo com a sugestão do Pablo em relação ao return. De qualquer forma, existem maneiras melhores de realizar a validação dos controles em Windows Forms, veja os links abaixo.

    ErrorProvider Component (Windows Forms)
    http://msdn.microsoft.com/en-us/library/95ysxkwy

    ErrorProvider, HelpProvider e ToolTip
    http://www.linhadecodigo.com.br/Artigo.aspx?id=184

    Obs: Estou movendo sua thread para o fórum de Windows Forms. Das próximas vezes que tiver alguma dúvida sobre essa tecnologia, poste por lá.

    Att.

    Ari C. Raimundo
    MCAD, MCTS
    http://araimundo.blogspot.com

    quinta-feira, 12 de maio de 2011 01:59
    Moderador
  • Busca no seu código se não tem nehum .close, às vezes deve ter algo em outro evento que feche essa aplicação.

    Se quiser usar o ErrorProvider, fiz um artigo no meu blog explicando. Está em VB mas está fácil de converter

    http://www.maestrodotnet.com.br/?p=295


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    quinta-feira, 12 de maio de 2011 12:19
  • Pessoal, muito obrigado mais uma vez.... o problema todo estava porque eu abri o banco de dados, no evento errado do form... no evento "activated", percebi que do "nada" o sistema também fechava sozinho!!! Foi mudar a abertura do banco no evento correto, e tudo funcionou perfeitamente, inclusive o MessageBox, agora ele exibe sem fechar o sistema.... estou postando porque pode ajudar outras pessoas, ou seja "o problema central era que o banco não estava aberto em um dos eventos possiveis, quando defini como actived - toda hora ele ficava tentando abrir o banco de dados - que já estava aberto, e ainda por cima, na abertura não tratei o erro com try - catch ... dai já viu né, ou seja, bobagem - atras de bobagem - estou iniciando em C# e to gostando muito!!!"

    Obrigado a todos.

    • Marcado como Resposta Andy-Koala sexta-feira, 13 de maio de 2011 12:28
    sexta-feira, 13 de maio de 2011 12:28