Usuário com melhor resposta
alteração de textBox para int calcular e saída de resultado em outro textbox

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."}
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,
LeandroSe foi útil, marque como útil ou como resposta.
- Marcado como Resposta kia_2016 segunda-feira, 5 de setembro de 2016 22:38
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.
-
-
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,
LeandroSe foi útil, marque como útil ou como resposta.
- Marcado como Resposta kia_2016 segunda-feira, 5 de setembro de 2016 22:38
-
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