Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Visual Basic probleem

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?

Featured Replies

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 :)

  • Author

Ik heb nu een iets andere manier gevonden om het te doen, maar toch bedankt voor je hulp! :Y

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. :Y

Mvg,

Flitskikker

  • Author

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)?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.