none
Verificar no TextChanged Se o Valor Digitado é Maior que o permitido RRS feed

  • Pergunta

  • Boa tarde pessoal,

    estou fazendo uma verificação e se a nota do Aluno Passar de 10, ele exibirar uma mensagem e o aluno terá que digitar a nota correta novamente menor que 10.

    Utilizei o seguinte codigo

     Double NotaAluno_50 = 0.00;
    
                NotaAluno_50 = Convert.ToDouble(Nota_50.Text);
             
                if (NotaAluno_50 > 10)
                {
                    MessageBox.Show("A nota só vai até 10");
    
                }

    Ele faz a verificação correta, porem quando estou deletando o conteúdo do NotaAluno_50, o programa simplesmente fecha e exibi o seguinte erro:

    Exception thrown: 'System.FormatException' in mscorlib.dll

    Additional information: A cadeia de caracteres de entrada não estava em um formato correto.

    Alguém poderia me ajudar?

    Obrigado


    Frases S2 - http://www.windowsphone.com/pt-br/store/app/frases-s2/72e15f77-a5ad-43ba-a752-3d2e09743008#

    sexta-feira, 20 de maio de 2016 18:19

Respostas

  • Olá Jadson,

    O erro acontece porque ele não pode converter "" em double. Coloca uma verificação ai como segue:

    if (!string.IsNullOrEmpty(Nota_50.Text))
    
    	NotaAluno_50 = Convert.ToDouble(Nota_50.Text);
    
    else
    
    	NotaAluno_50 = 0;

    • Marcado como Resposta JadsonxSantos sábado, 21 de maio de 2016 12:23
    sexta-feira, 20 de maio de 2016 19:23
  • Jadson, essa sua função esta vinculada a um textbox ?

    Se estiver vc pode usar o evento Leave para incluir algo  do tipo,

    if( textbox.text == string.empty) 

    {MessageBox.Show("Campo Não pode ser Vazio!"); return;}

    else

    {

    // tua função

    }

    Att, wsti.

     
    • Marcado como Resposta JadsonxSantos sábado, 21 de maio de 2016 13:09
    sexta-feira, 20 de maio de 2016 22:10

Todas as Respostas

  • Olá Jadson,

    O erro acontece porque ele não pode converter "" em double. Coloca uma verificação ai como segue:

    if (!string.IsNullOrEmpty(Nota_50.Text))
    
    	NotaAluno_50 = Convert.ToDouble(Nota_50.Text);
    
    else
    
    	NotaAluno_50 = 0;

    • Marcado como Resposta JadsonxSantos sábado, 21 de maio de 2016 12:23
    sexta-feira, 20 de maio de 2016 19:23
  • Jadson, essa sua função esta vinculada a um textbox ?

    Se estiver vc pode usar o evento Leave para incluir algo  do tipo,

    if( textbox.text == string.empty) 

    {MessageBox.Show("Campo Não pode ser Vazio!"); return;}

    else

    {

    // tua função

    }

    Att, wsti.

     
    • Marcado como Resposta JadsonxSantos sábado, 21 de maio de 2016 13:09
    sexta-feira, 20 de maio de 2016 22:10
  • Bom dia Jadson,

    segue a explicação:

    Se a o valor do textbox não for nulo ou vazio faça isso. O ponto de exclamação no C# representa negação. 

    Então se não usar antes da pergunta ficaria: Se o valor for nulo ou vazio.

    Boa sorte nos estudos, abraços.

    sábado, 21 de maio de 2016 13:00
  • Bom dia Jadson,

    segue a explicação:

    Se a o valor do textbox não for nulo ou vazio faça isso. O ponto de exclamação no C# representa negação. 

    Então se não usar antes da pergunta ficaria: Se o valor for nulo ou vazio.

    Boa sorte nos estudos, abraços.

    Muito Obrigado, Entendi, muito obrigado pela explicação.

    Frases S2 - http://www.windowsphone.com/pt-br/store/app/frases-s2/72e15f77-a5ad-43ba-a752-3d2e09743008#

    sábado, 21 de maio de 2016 13:13
  • Jadson, essa sua função esta vinculada a um textbox ?

    Se estiver vc pode usar o evento Leave para incluir algo  do tipo,

    if( textbox.text == string.empty) 

    {MessageBox.Show("Campo Não pode ser Vazio!"); return;}

    else

    {

    // tua função

    }

    Att, wsti.

     
    Sim, muito obrigado pela ajuda, Conseguir utilizando o método do amigo, Pablo D Pagues Ernst, acima, mesmo assim obrigado pela ajuda;

    Frases S2 - http://www.windowsphone.com/pt-br/store/app/frases-s2/72e15f77-a5ad-43ba-a752-3d2e09743008#

    sábado, 21 de maio de 2016 13:14
  • Olá Jadson,

    O erro acontece porque ele não pode converter "" em double. Coloca uma verificação ai como segue:

    if (!string.IsNullOrEmpty(Nota_50.Text))
    
    	NotaAluno_50 = Convert.ToDouble(Nota_50.Text);
    
    else
    
    	NotaAluno_50 = 0;

    Olá, Cara muito Obrigado, Funcionou, sou meio iniciante e gosto de aprender, você poderia me explicar essa linha de código que você me passou?

    O Código final ficou assim:

     private void Nota_50_TextChanged(object sender, TextChangedEventArgs e)
            {
                Double NotaAluno_50 = 0.00;
                if (!string.IsNullOrEmpty(Nota_50.Text))
    
                    NotaAluno_50 = Convert.ToDouble(Nota_50.Text);
    
                else
    
                    NotaAluno_50 = 0;
    
                if (NotaAluno_50 > 10)
                {
                    MessageBox.Show("A nota só vai até 10");
                    Nota_50.Clear();
    
                }
    
            }


    Frases S2 - http://www.windowsphone.com/pt-br/store/app/frases-s2/72e15f77-a5ad-43ba-a752-3d2e09743008#

    sábado, 21 de maio de 2016 13:15