Ir para conteúdo
Fórum Script Brasil
  • 0

Erro No Calculo


alexandremanowar

Pergunta

Olá pessoal

Estou estudando vb.net com winform e estou tentando fazer o seguinte, tenho um texbox1 e um textbox2 e label1. Eu quero digitar um valor no textbox1 e no textbox2 e somar os dois valores para que o resulatdo saia no label1 isso tudo no mesmo form e sem precisar usar botão algum ou seja apenas digito e o valor aparece no label1 automaticamente. Fiz alguns modos mas não está dando certo. Olha como fiz:

Dim teste As New Nota
        Dim calc1, calc2, final
        calc1 = Val(teste.txtquantidade1.Text)
        calc2 = Val(teste.txtunitario1.Text)
        final = calc1 * calc2
        lbltotal1.Text = final
Tentei também assim:

        Dim calc1, calc2, final
        calc1 = Val(txtquantidade1.Text)
        calc2 = Val(txtunitario1.Text)
        final = calc1 * calc2
        lbltotal1.Text = final

Já tentei esses dois tipos aí mas não funcionou. Primeiro coloquei o código direto no método do form aí não deu certo. Depois coloquei no método da label mas também não funcionou. Quero fazer isso de modo dinâmico ou seja digito no textbox1 e no textbox2 e resultado aparece na label1.

Isso com winform

Alguém sabe como resolver isso?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Consegui resolver dessa forma:

Private Sub lbltotal1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtunitario1.TextChanged
        If txtunitario1.Text.Length > 0 Then

alterei o Handles

Falou

Link para o comentário
Compartilhar em outros sites

  • 0

coloca isso no teu form.

Private Sub TextBox2_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.LostFocus

If TextBox1.Text <> "" Then

Label1.Text = TextBox1.Text * TextBox2.Text

Else

MsgBox("Favor Digitar um Valor!!")

TextBox1.Focus()

End If

quando teu textbox2 perde o foco você faz este tratamento, ok, espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara a primeira parte funcionou mas a segunda não. A primeira parte está igual coloquei acima apenas alterei o Handle e funcionou porque é um calculo simples do textbox1 com textbox2 e o resultado fica na label1.

Porém eu tenho mais três calculos parecidos ou seja tenho a textbox3 que soma com a textbox4 e resultado fica la label2 e assim por diante o total são 4 label com resultados desse mesmo tipo com soma de dois textbox. Agora tenho um label8 que tem que exibir o valor da soma das labels e não estou conseguindo fazer. Ou seja pegar o resulatdo das labels e somar. Fiz do seu modo mas não funcionou, veja como fiz:

Private Sub lbltotalproduto_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbltotalproduto.LostFocus

Dim calc1 As Decimal
        Dim calc2 As Decimal
        Dim final As Decimal
       .....''outras variaveis
        calc1 = Val(lbltotal1.Text)
        calc2 = Val(lbltotal2.Text)
       ......
        final = calc1 + calc2+calc3+calc4
        lbltotalproduto.Text = final

Não está exibindo valor nenhum. Deixei o métodos como LostFocus mas não funcionou, porém se eu dixar o método como click e der um clique na label funciona será que tem algum modo que ele faça isso sói sem precisar clicar?

você pode me ajudar?

Link para o comentário
Compartilhar em outros sites

  • 0

Grande, seu problema é o seguinte.... você quer que quando o lblTotalProduto perder o focus ele execute a operação, mas label nunca tem focus!!!

Para funcionar de um jeito bem legal, eu recomendaria o seguinte...

Crie uma função e nela coloque o codigo da soma assim:


Private Function TotalProdutos
Dim calc1 As Decimal
       Dim calc2 As Decimal
       Dim final As Decimal
      .....''outras variaveis
       calc1 = Val(lbltotal1.Text)
       calc2 = Val(lbltotal2.Text)
      ......
       final = calc1 + calc2+calc3+calc4
       lbltotalproduto.Text = final
end function

E a cada perda de focus das outras caixas textos executam essa função....

Assim toda vez que executar a conta para o label 1 automaticamente já faz para o label total.... e assim por diante....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...