Hallo zusammen,
ich bin gerade dabei eine IP-Eingabe mit Textboxen zu verwirklichen.
Nun möchte ich jedoch, dass wenn man die Taste "Punkt" (KeyCode müsste 109 sein!?) drückt, dass dieser dann NICHT in der Textbox auftaucht, sondern automatisch weiter springt in die nächste TextBox.
Wie kann ich also den Punkt entfernen, dass dieser nicht in der TextBox auftaucht? Da sonst meine Fehlermeldung vom TextChanged-Event anschlägt.
ich bin gerade dabei eine IP-Eingabe mit Textboxen zu verwirklichen.
Nun möchte ich jedoch, dass wenn man die Taste "Punkt" (KeyCode müsste 109 sein!?) drückt, dass dieser dann NICHT in der Textbox auftaucht, sondern automatisch weiter springt in die nächste TextBox.
Wie kann ich also den Punkt entfernen, dass dieser nicht in der TextBox auftaucht? Da sonst meine Fehlermeldung vom TextChanged-Event anschlägt.
VB.NET-Quellcode
- Private Sub IP_Segment_TextBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles IP_Segment_TextBox1.KeyPress
- Select Case Asc(e.KeyChar)
- Case 48 To 57, 8, 46
- '48 bis 57 = Zahlen 0 bis 9
- '8 = Backspace/Rücktaste
- '32 = Space zulassen
- '52 = Entf/Delete Taste
- '44 = Komma
- '46 = Punkt
- '
- '
- Case Else
- e.Handled = True
- End Select
- If IP_Segment_TextBox1.Text.Length = 2 And e.KeyChar <> Chr(8) Then 'in nächste Box springen, wenn 3 Zeichen erreicht
- IP_Segment_TextBox2.Focus()
- IP_Segment_TextBox2.SelectAll()
- End If
- End Sub
- Private Sub IP_Segment_TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles IP_Segment_TextBox1.KeyDown
- If e.KeyCode = Keys.Left Then
- '... Wenn linke Pfeiltaste gedrückt wurde
- ElseIf e.KeyCode = Keys.Right Then
- '...Wenn rechte Pfeiltaste gedrückt wurde
- IP_Segment_TextBox2.Focus()
- IP_Segment_TextBox2.SelectAll()
- ElseIf e.KeyCode = 109 Then
- '...Wenn Punkt gedrückt wurde
- IP_Segment_TextBox2.Focus()
- IP_Segment_TextBox2.SelectAll()
- End If
- End Sub
- Private Sub IP_Segment_TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IP_Segment_TextBox1.TextChanged
- Dim tbValue As Byte
- If IP_Segment_TextBox1.Text = "" Then
- Else
- If Not (Byte.TryParse(IP_Segment_TextBox1.Text, tbValue)) OrElse tbValue < 1 OrElse tbValue > 255 Then
- 'IP_Segment_TextBox1.Text = "1"
- MsgBox(IP_Segment_TextBox1.Text & " ist kein gültiger Eintrag. Geben Sie einen Wert im Bereich von 1 und 223 ein.")
- If IP_Segment_TextBox1.Text = "0" Then
- IP_Segment_TextBox1.Text = "1"
- IP_Segment_TextBox1.Focus()
- IP_Segment_TextBox1.SelectAll()
- Else
- IP_Segment_TextBox1.Text = "223"
- IP_Segment_TextBox1.Focus()
- IP_Segment_TextBox1.SelectAll()
- End If
- End If
- End If
- End Sub