Il blog nasce da una domanda nel NG di VB.NET.
"Vorrei fare in modo che l'utente non debba premere Tab ma Enter per passare al campo successivo in una Textbox winform"
Visto che la domanda ricorre frequentemente, val la pena di bloggarla.
Aggiungete al vostro progetto uno Usercontrol, sostituite:
Inherits System.Windows.Forms.Control
con
Inherits System.Windows.Forms.Textbox
e poi aggiungete queste righe:
Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean
If (keyData = Keys.Enter) Then
Return MyBase.ProcessDialogKey(Keys.Tab)
ElseIf (keyData = Keys.Tab) Then
Return True
Else
Return MyBase.ProcessDialogKey(keyData)
End If
End Function
Fatto questo, fate il build della solution e impostate un reference al vostro stesso exe (!) e utilizzate lo usercontrol che apparira nella Tab "My User Controls"
Enjoy! ;-)
Per la versione C#, aggiungete qualche {} ";" e ":" quanto basta...