none
alteração de textBox para int calcular e saída de resultado em outro textbox RRS feed

  • Pergunta

  • Pessoal, 

    Sou nova no grupo e agradeço a ajuda. Estou com um projetinho bem simples e preciso capturar números digitado pelo usuário realizar calculo e devolver na tela.O sistema não está aceitando minhas alterações, aparentemente quando torno a textbox vazia.

    Alguém pode me socorrer?

    Obrigada

    {"A cadeia de caracteres de entrada não estava em um formato correto."}

     private void textBox_TextChanged_1(object sender, TextChangedEventArgs e)
            {
                string texto1;
                texto1 = textBox.Text; //capturando valor digitado na caixa e transformado em inteiro
                int num1 = int.Parse(texto1)*10;// transformando texto capturado em numero
                textBox1.Text = num1.ToString();

    }

    {"A cadeia de caracteres de entrada não estava em um formato correto."}

    segunda-feira, 5 de setembro de 2016 14:58

Respostas

  • Você pode validar o campo conforme o Odair mencionou:

    private void textBox_TextChanged_1(object sender, TextChangedEventArgs e)
            {
                if (!string.IsNullOrWhiteSpace(textBox.Text))
                {
                    string texto1 = textBox.Text; //capturando valor digitado na caixa e transformado em inteiro
                    int num1 = int.Parse(texto1) * 10;// transformando texto capturado em numero
                    textBox1.Text = num1.ToString();
                }
            }


    Att,
    Leandro

    Se foi útil, marque como útil ou como resposta.

    • Marcado como Resposta kia_2016 segunda-feira, 5 de setembro de 2016 22:38
    segunda-feira, 5 de setembro de 2016 21:04

Todas as Respostas

  • Isso ocorre pois você esta tentando transformar uma string sem valor nenhum em um número inteiro, para que o int.Parse funcione é preciso que tenha apenas números na variável!

    Para evitar que isso ocorra, verifique antes de converter os dados se o valor do textBox de entrada não é null ou empty, lembrando que se for digitado letras ocorrerá o mesmo erro.

    segunda-feira, 5 de setembro de 2016 16:30
  • Certo, 

    Quando entro com o backspace e a célula fica null, ou quando deleto os itens e a célula fica null, aparece esse erro.

    Como resolver?

    obrigada

    segunda-feira, 5 de setembro de 2016 16:47
  • Você pode validar o campo conforme o Odair mencionou:

    private void textBox_TextChanged_1(object sender, TextChangedEventArgs e)
            {
                if (!string.IsNullOrWhiteSpace(textBox.Text))
                {
                    string texto1 = textBox.Text; //capturando valor digitado na caixa e transformado em inteiro
                    int num1 = int.Parse(texto1) * 10;// transformando texto capturado em numero
                    textBox1.Text = num1.ToString();
                }
            }


    Att,
    Leandro

    Se foi útil, marque como útil ou como resposta.

    • Marcado como Resposta kia_2016 segunda-feira, 5 de setembro de 2016 22:38
    segunda-feira, 5 de setembro de 2016 21:04
  • Leandro, 

    Vou tentar depois.

    Como estava tentando a muito sem solução, joguei os comandos de cálculo para o botão resolve, e coloquei um try catch para as demais exceções. Dessa forma o null não para mais meu programa.

    obrigada pela ajuda

    segunda-feira, 5 de setembro de 2016 22:41