TabTaste in Textbox auswerten

14/03/2008 - 12:06 von Steffen Haas | Report spam
Hallo NG,
ich habe ein Form auf der ich so eine Art Assistent zur Werteeingabe habe,
wo man nacheinander Werte eingeben soll.
Im Augenblick kann ich durch drücken der ENTER-Tast auf das nàchst Feld
springen, ist ja auch kein Problem, kann ich über das Keypress ereignis
auswerten.
Nun will ich aber auch mit der Tab-Taste weiterspringen. Nur kann ich die ja
nicht über KeyPressereignis der Textbox auswerten, da ja das gesamte Form
darauf reagiert.
Gibt es eine Möglichkeit, dass ich die Tabtaste auch in der Textbox
auswerten kann?

Danke Steffen
 

Lesen sie die antworten

#1 Armin Zingler
14/03/2008 - 13:13 | Warnen spam
"Steffen Haas" schrieb
Hallo NG,
ich habe ein Form auf der ich so eine Art Assistent zur Werteeingabe
habe, wo man nacheinander Werte eingeben soll.
Im Augenblick kann ich durch drücken der ENTER-Tast auf das nàchst
Feld springen, ist ja auch kein Problem, kann ich über das Keypress
ereignis auswerten.
Nun will ich aber auch mit der Tab-Taste weiterspringen. Nur kann
ich die ja nicht über KeyPressereignis der Textbox auswerten, da ja
das gesamte Form darauf reagiert.
Gibt es eine Möglichkeit, dass ich die Tabtaste auch in der Textbox
auswerten kann?



Ich habe bisher noch nie etwas programmieren müssen, um mit der
Tab-Taste zum nàchsten Control zu gelangen, denn das ist der Standard.
Allgemein kannst du die Methoden ProcessCmdKey bzw ProcessDialogKey
überschreiben.

Bsp:

Protected Overrides Function ProcessCmdKey( _
ByRef msg As System.Windows.Forms.Message, _
ByVal keyData As System.Windows.Forms.Keys) As Boolean

Return MyBase.ProcessCmdKey(msg, keyData)

End Function


Es kann aber auch sein, dass du bei <Enter> eine Prüfung des Inhalts
durchführst und dass du das jetzt auch bei Betàtigung der Tab-Taste
machen willst. Dann wàre aber die Prüfung im OnLeave besser
aufgehoben:

Protected Overrides Sub OnLeave(ByVal e As System.EventArgs)
MyBase.OnLeave(e)
'...eigener Code
End Sub

Alternativ im Leave-Ereignis der Form.


Armin

Ähnliche fragen