[Resolvido] Duas TextBox a exibir cálculos em simultâneo - Visual Basic .NET - Portugal-a-Programar
[Resolvido] Duas TextBox a exibir cálculos em simultâneo
Por Joca, 7 de Dezembro de 2008 em Visual Basic .NET
Estou com um problema mesmo ridículo (pois, acho que é simples de resolver...) porém, após vários testes ainda não percebi como dizer ao programa para aceitar o que eu pretendo fazer... Culpa minha, e do cansaço, obviamente... :wallbash:
Neste momento, retornei a fazer do início.
A ideia é que, se digitar um valor na textbox1 ele multiplique o valor. Mas, se eu digitar o valor na textbox2 ele deverá dividir o valor.
E, sim é só para usar as duas textbox.
O objectivo é que se o valor for digitado na textbox1, o resultado apareça na textbox2. E, vice-versa.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
TextBox2.Text = 10 * Val(TextBox1.Text) '10*5 = 50
TextBox1.Text = 10 / Val(TextBox2.Text) '10/5 = 2
Acho que o problema ta no ElseIf, se colocares dois Ifs diferentes, talvez resolva o problema. Isto sem saber ao certo o que queres fazer...
Mas talvez te aconselhe a teres dois eventos distintos para o TextChanged de cada TextBox e fazeres o teu código de acordo à TextBox.
Ok Nazgulled. Segui a tua sugestão. Agora estou a usar dois Ifs diferentes (por enquanto).
O que eu quero é que:
-> quando escrever um valor na textbox1, me retorne o resultado (neste caso, pela multiplicação) na textbox2. E, se já estiver a exibir algum valor na textbox2 que, tivesse sido anteriormente calculado, o apague e, exiba o valor do novo resultado ;
-> quando escrever um valor na textbox2, me retorne o resultado (neste caso, pela divisão) na textbox1. E, se já estiver a exibir algum valor na textbox1 que, tivesse sido anteriormente calculado, o apague e, exiba o valor do novo resultado.
Neste momento, estou, de novo, no mesmo ponto em que tinha terminado ontem (antes de "reiniciar" as minhas ideias e, colocar o código acima pelo qual iniciei o meu raciocínio).
Eu estou a pensar em duas alternativas (fiz de maneira diferente em cada um dos eventos das textboxes, em baixo, para perceberem a que alternativas é que me refiro).
Obviamente que, as duas alternativas não funcionam em simultâneo. Cada uma das alternativas deve ser testada separadamente para ver correctamente o resultado final.
Porém, não tenho conseguido "forçar" a actualização para exibir os novos resultados das contas (uma vez que, estou a introduzir um novo valor em cada uma das textboxes e, não actualiza a outra textbox para exibir o resultado correcto).
Este é o meu problema!! A actualização dos resultados calculados (após ter introduzido novos valores numa ou noutra das textbox)
If Not TextBox1.Text <> "" And Not TextBox2.Text = "" Then
TextBox2.Text = Val(10) * Val(TextBox1.Text) '10*5 = 50
If TextBox1.Text = "" And TextBox2.Text <> "" Then
TextBox1.Text = Val(10) / Val(TextBox2.Text) '10/5 = 2
'TextBox1.Update()
Este código parece-me um bocado confuso, ou não percebi bem o que tu queres. Mas vê se é isto que procuras:
If TextBox2.Text = String.Empty Then
Atenção que não testei o código, e posso não ter percebido muito bem a tua ideia.
Anolsi, também pensei nisso.
O problema é que, se escreveres o valor 5 na textbox1 ele retorna uma boa resposta...uma vez que, o programa vai fazer as contas de um lado e do outro.