Castiel Posted July 28, 2012 at 06:09 PM Report Share #470801 Posted July 28, 2012 at 06:09 PM (edited) Boas! Eu estou aqui com um problema. Estou a trabalhar num programa em que quando o utilizador insere numeros na TextBox, o visual basic processa os valores e mostra o resultado noutra TextBox mas isto tudo com o clique do botão. O meu problema é que eu quero que o Visual Basic faça isso sem o botão... automaticamente e não estou a conseguir fazer isso. Já tentei várias coisas e nenhuma delas funcionou 😞 Alguém me pode ajudar? Edited July 28, 2012 at 06:10 PM by Castiel Link to comment Share on other sites More sharing options...
FreiNando Posted July 28, 2012 at 07:17 PM Report Share #470802 Posted July 28, 2012 at 07:17 PM Usa os eventos da TextBox. O evento Change é chamado sempre que o texto é alterado, pelo pelo utilizador, ou por código. Os eventos de teclado KeyDown, KeyUp e KeyPress são chamados ao ser pressionada uma tecla, ao ser libertada as tecla pressionada e quando uma tecla válida é aceite. Tens ainda os eventos BeforeUpdate e AfterUpdate que são chamado antes e depois do valor da TextBox ser guardado. Tem mais utilidade quando a TexBox está ligada a objecto Data (ligdado a uma base de dados). Existem muitos mais eventos. Testa o funcionamento de todos e escolhe o que mais te convém. 1 Report O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
Castiel Posted July 28, 2012 at 07:35 PM Author Report Share #470804 Posted July 28, 2012 at 07:35 PM Usa os eventos da TextBox. O evento Change é chamado sempre que o texto é alterado, pelo pelo utilizador, ou por código. Os eventos de teclado KeyDown, KeyUp e KeyPress são chamados ao ser pressionada uma tecla, ao ser libertada as tecla pressionada e quando uma tecla válida é aceite. Tens ainda os eventos BeforeUpdate e AfterUpdate que são chamado antes e depois do valor da TextBox ser guardado. Tem mais utilidade quando a TexBox está ligada a objecto Data (ligdado a uma base de dados). Existem muitos mais eventos. Testa o funcionamento de todos e escolhe o que mais te convém. Para me aparecer o resultado automaticamente tenho de meter o evento em todas as textbox ou só na textbox que mostra o resultado? Link to comment Share on other sites More sharing options...
FreiNando Posted July 29, 2012 at 09:51 AM Report Share #470844 Posted July 29, 2012 at 09:51 AM (edited) Precisas antes de mais perceber o que são eventos em VB. Alguns manuais de VB explicam bem os eventos, outros apenas a sua utilização. No teu caso, e para que entendas o que pode fazer com os eventos, deves utilizá-los para conhecer o que cada um faz. Existem muitos exemplos na net. Ao fazeres isso irás responder à tua questão. Obs.: Quando tu dizes que usavas o clique do botão, estavas era a usar o evento Click do botão e não o evento da TextBox que mostra o resultado. Edited July 29, 2012 at 09:58 AM by FreiNando O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
jviana Posted July 29, 2012 at 04:15 PM Report Share #470858 Posted July 29, 2012 at 04:15 PM Tem que haver algum sinal que faça o código "disparar", podes usar o numero de caracteres. Learning VB.Net HTML C/C++ Link to comment Share on other sites More sharing options...
FreiNando Posted July 29, 2012 at 05:12 PM Report Share #470860 Posted July 29, 2012 at 05:12 PM Tem que haver algum sinal que faça o código "disparar", podes usar o numero de caracteres. Para quem está aprendendo C/C++ deve saber o que é o tratamento de mensagens ou eventos. Em VB isso já está feito e cada mensagem chama um procedimento associado a um objecto, que pode ser usado pelo programador. Ao carregar numa tecla é 'disparado' o evento KeyDown, ao levantar a tecla é disparado o evento KeyUp, ao clicar no botão do rato é disparado o evento MouseDown, etc. Existem eventos que responde a uma acção tratada pelo programa, por exemplo quando o texto de uma TextBox muda (basta apenas um caracter) é chamado o evento Change. Para quem sabe programar Classes conhece também uma forma de criar eventos para essa classe. Eu não dei uma resposta em concreto porque usar os eventos dos objectos faz parte do básico do Visual Básic. O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles Link to comment Share on other sites More sharing options...
edsudani Posted July 29, 2012 at 05:14 PM Report Share #470861 Posted July 29, 2012 at 05:14 PM Castiel, cria uma nova planilha com um form. Põe nele duas textbox,duas label p/ identificá-las e uma label para o total. Copia e cola o código abaixo no editor do VB e "brinque" com ele até obter o resultado que desejas. Option Explicit Dim n1 As Single Dim n2 As Single Private Sub TextBox1_Change() n1 = CSng(TextBox1.Text) ActiveCell.Range("A1").Value = CSng(n1) End Sub Private Sub TextBox2_Change() n2 = CSng(TextBox2.Text) ActiveCell.Range("A2").Value = CSng(n2) Soma End Sub Private Sub Soma() Dim n3 As Single n3 = Format(n1 + n2) Me.Label1.Caption = "Total" & " = " & n3 End Sub Se aclarar as idéias... Edison 1 Report Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now