[VB.NET] Tastendruck in Textbox abfangen

Hallo zusammen,

ich versuche in einer Textbox Eingaben abzufangen mittels des Keydown Ereignisses.

If Not ((e.KeyCode \>= 97 And e.KeyCode = 65 And e.KeyCode e.KeyCode = 0
End If

leider funktioniert das in VB.NET nicht weil die Eigenschaft unter NET schreibgeschützt ist in VB6/VBA funktionierte das noch so schön :frowning:!

Weiterhin versuche ein Zeitwert über eine Textbox einzulesen und möchte bereits bei der Eingabe prüfen ob es sich um eine ungültige Eingabe handelt, sollte nicht so schwer sein da sich mit der selStart methode feststellen lässt bei welchem eingabeteil man sich gerade verbindet. also pos 1 zahlen von 0-2 zulassen pos 2 0-9 usw…
Dabei stellt sich mir das problem wie ich automatisch den doppelpunkt einfügen kann und wie ich verhindere das sich mein kleines system zerschießt wenn steuerzeichen (Cursor bewegungen, backspace) eingegeben werden!

bin für jede Hilfe Dankbar
lg Enrico

Hallo zusammen,

Hallo Enrico,

ich versuche in einer Textbox Eingaben abzufangen mittels des
Keydown Ereignisses.

If Not ((e.KeyCode >= 97 And e.KeyCode = 65 And e.KeyCode e.KeyCode = 0
End If

leider funktioniert das in VB.NET nicht weil die Eigenschaft
unter NET schreibgeschützt ist in VB6/VBA funktionierte das
noch so schön :frowning:!

Warum fragst du die Eingabe ncht mittels Select Case ab?
Desweiteren, wenn du bindend auf dem Wege pochen solltest, dann nehme eine sogenannte Kurzschlußauswertung orelse und andalso)

Weiterhin versuche ein Zeitwert über eine Textbox einzulesen
und möchte bereits bei der Eingabe prüfen ob es sich um eine
ungültige Eingabe handelt, sollte nicht so schwer sein da sich
mit der selStart methode feststellen lässt bei welchem
eingabeteil man sich gerade verbindet. also pos 1 zahlen von
0-2 zulassen pos 2 0-9 usw…
Dabei stellt sich mir das problem wie ich automatisch den
doppelpunkt einfügen kann und wie ich verhindere das sich mein
kleines system zerschießt wenn steuerzeichen (Cursor
bewegungen, backspace) eingegeben werden!

Dafür bietet sich die MaskedTextbox an :wink: Über die Eigenschaft Mask kannst du festlegen wie die Eingabe dann ausschauen soll. Schau dir das mal an :wink:

bin für jede Hilfe Dankbar
lg Enrico

Nichts zu danken.

MfG Alex

Hallo Alex,

Danke für die schnelle Antwort!
Select Case wäre auch noch eine Möglichkeit, aber wie verhinder ich das der „falsche“ Wert in die Textbox gelangt?

Enrico

Hallo Enrico,

schau dir mal die Masked Textbox an! Warum willst du bindend das Rad neu erfinden, wenn es dafür schon fertige Lösungen gibt?

MfG Alex

Hallo Alex,

ich hab mir die maskedBox angesehen, was mich ein wenig stört ist, das man da ja praktisch 59:67 Uhr eingeben kann. Eine Möglichkeit das einzuschränken gibt es sicher nicht, oder? Habs zwar gelöst indem isdate(textbox) abfragt hab, aber rein interessehalber wüde mich das schon mal interessieren.

vielen Danke erstmal für den Tipp :smile:

Enrico