Guten Tag ich hab mich extra hier registriert um diese Frage zu stellen:
Ich habe eine "TextBox1", in die man nur Zahlen reinschreiben kann. Wenn jemand aber trotzdem Buchstaben oder ähnliches tippt, dann erscheint eine Meldung:
"Bitte nur Zahlen eingeben"
Aus einem mir unerklärlichen Grund erscheint diese MsgBox doppelt.
Ich habe eine "TextBox1", in die man nur Zahlen reinschreiben kann. Wenn jemand aber trotzdem Buchstaben oder ähnliches tippt, dann erscheint eine Meldung:
"Bitte nur Zahlen eingeben"
Aus einem mir unerklärlichen Grund erscheint diese MsgBox doppelt.
VB.NET-Quellcode
- Public Class Form2
- #Region "Only Accept Numbers"
- Private Declare Function GetAsyncKeyState Lib "user32" (ByVal ekey As Integer) As ShortSub OnlyAcceptNumbers()
- If GetAsyncKeyState(Keys.D1) Then
- ElseIf GetAsyncKeyState(Keys.D2) Then
- ElseIf GetAsyncKeyState(Keys.D3) Then
- ElseIf GetAsyncKeyState(Keys.D4) Then
- ElseIf GetAsyncKeyState(Keys.D5) Then
- ElseIf GetAsyncKeyState(Keys.D6) Then
- ElseIf GetAsyncKeyState(Keys.D7) Then
- ElseIf GetAsyncKeyState(Keys.D8) Then
- ElseIf GetAsyncKeyState(Keys.D9) Then
- ElseIf GetAsyncKeyState(Keys.NumPad1) Then
- ElseIf GetAsyncKeyState(Keys.NumPad2) Then
- ElseIf GetAsyncKeyState(Keys.NumPad3) Then
- ElseIf GetAsyncKeyState(Keys.NumPad4) Then
- ElseIf GetAsyncKeyState(Keys.NumPad5) Then
- ElseIf GetAsyncKeyState(Keys.NumPad6) Then
- ElseIf GetAsyncKeyState(Keys.NumPad7) Then
- ElseIf GetAsyncKeyState(Keys.NumPad8) Then
- ElseIf GetAsyncKeyState(Keys.NumPad9) Then
- Else
- TextBox1.Clear()MsgBox("Bitte nur Zahlen eingeben", MsgBoxStyle.OkOnly, "Fehler") 'Warum kommt die MsgBox 2x ?
- End If
- End Sub
- #End Region
- Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
- OnlyAcceptNumbers()
- End Sub