Ir ao conteúdo

Ajuda com Windows Form C#


joaozinhusama

Posts recomendados

Postado

Meu primeiro tópico, espero ser ajudado...

Então, eu preciso criar um programinha que capture o conteudo de um textbox e atualize o label com o valor digitado. Sem usar button.

O usuário digita e o número ja aparece no label, caso ele apague, o numero sera apagado do label tambem.

Já consegui fazer com que a label seja atualizada, mas caso todo o conteúdo seja apagado, gera o erro:

 

Seqüência de entrada não estava em um formato incorreto.

 

Make sure your method argument are in the right format.

 

  
  public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private void valor1_TextChanged(object sender, EventArgs e)        {            Double num1;            num1 = Convert.ToDouble(valor1.Text);            resultado.Text = num1.ToString();        }    }}
Postado

@

 

 

Para esse caso, uma boa opção seria usar o método TryParse(), já que você tem como saber se a conversão foi ou não bem sucedida mais facilmente:

private void valor1_TextChanged(object sender, EventArgs e){    Double num1;    if (Double.TryParse(valor1.Text, out num1))    {        resultado.Text = num1.ToString();    }    else        resultado.Text = valor1.Text == "" ? "" : "Erro";}

Se a string representando um valor real for válida, será convertida e depois atribuída ao label. Se a conversão não for possível (ex. o cara entrar com uma letra ou algum outro caractere inválido), o label receberá "Erro". Se o textbox for limpo, nenhuma mensagem será apresentada.

 

 

 

LNW

Postado

@LNW

 

Opa, obrigado pela ajuda. O programa agora não dá erro, mas não consigo inserir nada no textbox e nada aparece no label. Antes o label era atualizado com o conteudo do text, mas gerava erro ao apagar tudo. Agora nada é preenchido.

 

:confused:


@LNW

 

 

Ah, consegui resolver meu problema. Obrigado pelo tempo que tomou para me ajudar. Era só declarar a variavel como string.

B)

Postado

@

 

O programa agora não dá erro, mas não consigo inserir nada no textbox e nada aparece no label. Antes o label era atualizado com o conteudo do text, mas gerava erro ao apagar tudo. Agora nada é preenchido.

 

Estranho que não consiga inserir nada no textbox; você deve ter setado a propriedade ReadOnly do textbox para True por engano. Aqui funcionou bem:

 

 

Assim que compilo e rodo o programa (deixei o texto padrão do label de propósito):

 

grab1.png

 

 

Inserindo um número real válido (note a vírgula como separador decimal):

 

grab2.png

 

 

Adicionando um caractere inválido propositalmente:

 

 

grab3.png

 

 

E, por fim, limpando o textbox:

 

grab4.png

 

 

 

 

Abs.

LNW

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...