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

Sendkeys.send is less reliable I would prefer me.selectnextcontrol(sender,true,true,true,true)

THIS IS VERY VERY GOOD ARTICLE.
THANKS

Add new comment