Froodooo Geplaatst: 6 augustus 2008 Rapport Geplaatst: 6 augustus 2008 Ik wil voor een programma dat ik maak iets doen, maar tot nu toe is dat nog niet gelukt. Het is de bedoeling dat als ik op een toets druk (bijvoorbeeld een letter op het toetsenbord), dat er dan in een tekstbox of een NumericUpDown object het getal '1' bij het getal wat dat object al heeft wordt opgeteld. Met een button lukt me dat nog wel, maar hoe moet ik dan doen met het indrukken van een toets? Reageren
.Timothy Geplaatst: 6 augustus 2008 Rapport Geplaatst: 6 augustus 2008 Volgens mij doe je dat door middel van het KeyPress Event. Ik heb 't zelf even met 't simpele Visual Basic van Word gedaan, dus het kan enigzins afwijken. Maak bij een willekeurig object (een TextBox bijvoorbeeld) een KeyPress Event aan. Zet daarin de volgende code: If KeyAscii = 46 Then TextBox.Text = TextBox.Text + 1 End If KeyAscii is de waarde van de toets, dus als KeyAscii 46 is, moet de code verder gaan. 46 is het getal voor de punt, op deze site kun je de codes voor andere toetsen vinden. Kijk bij 'Dec' (Decimaal), de anderen zijn niet van toepassing. Daarna wordt er simpelweg opgeteld en de 'if' beëindigd. Ik hoop dat dit aan je wens voldoet Reageren
Froodooo Geplaatst: 6 augustus 2008 Auteur Rapport Geplaatst: 6 augustus 2008 Ik heb nu een iets andere manier gevonden om het te doen, maar toch bedankt voor je hulp! Reageren
Flitskikker Geplaatst: 6 augustus 2008 Rapport Geplaatst: 6 augustus 2008 Om welke versie van VB gaat het? Want er zijn verschillende versies. Als je in VB6 zoiets wilt doen, moet je dit in je code voegen: Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 46 Then Text1.Text = Text1.Text + 1 End If End Sub Het cijfer van KeyAscii verschilt voor elke toets. Als je deze code toevoegt: Private Sub Form_KeyPress(KeyAscii As Integer) MsgBox KeyAscii End Sub En dan vervolgens op een toets drukt, krijg je een melding met de KeyAscii die bij de ingedrukte toets hoort. Nog een andere tip, zet de "Enabled" eigenschap van het textboxje op False, anders komt bijvoorbeeld de punt in dat tekstvakje te staan en wordt de code niet uitgevoerd. Hopelijk helpt dit je een beetje op weg. Als je nog meer vragen hebt, stel ze gerust. Mvg, Flitskikker Reageren
Froodooo Geplaatst: 6 augustus 2008 Auteur Rapport Geplaatst: 6 augustus 2008 Ik werk met Visual Basic 2008 Express Edition. Ik heb nu dus een beetje uitgevogeld hoe het moet, maar het werkt alleen nog als ik de 'focus' op de desbetreffende control heb gezet. Kun je ook op een toets drukken en '1' bijtellen zonder dat bijvoorbeeld de textbox is geselecteerd (dus dat de 'focus' erop staat)? Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.