Hallo Leute!
Ich möchte in einer Form, unabhängig von Eingabefeldern und anderen Elementen wie Pictureboxen, Buttons etc. die Tastatureingaben des Benutzers abfangen. Dies habe ich soweit mit folgenden Code hinbekommen.
Da die Eingabe Barcodes und Schlüsselcodes (Kellnerschlösser über HID) sind, die immer mit einem CR+LF (Enter-Taste) abgeschlossen werden, fülle ich den Tastaturpuffer (Variable) im KeyPress Ereignis mit dem gerade getippten Zeichen.
Im Keyup Ereignis frage ich ab ob die Enter-Taste gedrückt wurde. Wurde diese gedrückt und vorher mindestens 1 gültiges Zeichen getippt, dann wird der Code übernommen (zum Probieren in eine Richtextbox geschrieben mit der Info der Zeichenlänge).
Nun habe ich aber das Problem, dass JEDE Taste übergeben wird. Also auch Backspace und andere Steuerzeichen. Das möchte ich aber nicht. Ich möchte ausschließlich sichtbare Zeichen übergeben (0-9,a-f,A-F,!-?). Gibt es hier einen "Universalbefehl" um nur "normale" Zeichne zu identifizieren oder muss man mit If/Then oder Case-Abfrage die ungültigen oder gültigen manuell auseinanderpflücken?
LG Roland
Ich möchte in einer Form, unabhängig von Eingabefeldern und anderen Elementen wie Pictureboxen, Buttons etc. die Tastatureingaben des Benutzers abfangen. Dies habe ich soweit mit folgenden Code hinbekommen.
VB.NET-Quellcode
- Private Sub frm_hauptform_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
- TastaturPuffer.Append(e.KeyChar)
- ' Label1.Text = e.KeyChar
- 'Label2.Text = TastaturPuffer.ToString
- 'Label5.Text = CStr(e.KeyChar)
- End Sub
- Private Sub frm_hauptform_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
- 'Nur die Enter-Taste gedrückt wurde
- If e.KeyCode = Keys.Enter And TastaturPuffer.Length > 0 Then
- RichTextBox1.Text += TastaturPuffer.ToString + " - " + CStr(TastaturPuffer.Length) + vbCrLf
- TastaturPuffer.Clear()
- End If
- End Sub
Da die Eingabe Barcodes und Schlüsselcodes (Kellnerschlösser über HID) sind, die immer mit einem CR+LF (Enter-Taste) abgeschlossen werden, fülle ich den Tastaturpuffer (Variable) im KeyPress Ereignis mit dem gerade getippten Zeichen.
Im Keyup Ereignis frage ich ab ob die Enter-Taste gedrückt wurde. Wurde diese gedrückt und vorher mindestens 1 gültiges Zeichen getippt, dann wird der Code übernommen (zum Probieren in eine Richtextbox geschrieben mit der Info der Zeichenlänge).
Nun habe ich aber das Problem, dass JEDE Taste übergeben wird. Also auch Backspace und andere Steuerzeichen. Das möchte ich aber nicht. Ich möchte ausschließlich sichtbare Zeichen übergeben (0-9,a-f,A-F,!-?). Gibt es hier einen "Universalbefehl" um nur "normale" Zeichne zu identifizieren oder muss man mit If/Then oder Case-Abfrage die ungültigen oder gültigen manuell auseinanderpflücken?
LG Roland
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()