How to Capture Enter Key or Return Key as Tab in Windows Form

By default VB.NET and C# does not listen on the enter key or return key when you press your keyboard. Those it will not move your cursor to the next control like text box. Instead a tab key is used to navigate to other control in your windows form. A simple ProcessCmdKey Overrides function is necessary to capture this event. Allowing you to use the Tab key as the enter/return key equivalent. Here’s the code:
  1. Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
  2. Select Case msg.WParam.ToInt32()
  3. Case 13 ' enter Key
  4. If TypeOf Me.ActiveControl Is TextBox Then
  5. SendKeys.Send("{Tab}")
  6. Return True
  7. End If
  8. End Select
  9. Return MyBase.ProcessCmdKey(msg, keyData)
  10. End Function 'ProcessCmdKey
The code above also work on VB.NET 2008.

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by SourceCodester.com for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.

FOR YOUR OWN SAFETY, PLEASE:

1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Comments

Submitted byKaustubh Sinnarkar (not verified)on Thu, 02/09/2012 - 02:10

Sendkeys.send is less reliable I would prefer me.selectnextcontrol(sender,true,true,true,true)
Submitted byAnonymous (not verified)on Thu, 06/27/2013 - 20:31

THIS IS VERY VERY GOOD ARTICLE.
THANKS

Add new comment