Category / Section
How to change the Enter key behavior in WinForms DataGrid (SfDataGrid)?
1 min read
Change the enter key behavior
When pressing the Enter key, the current cell will be moved to the next row in DataGrid, by default. You can change this behavior like, Tab key that moves the current cell to the next cell on the same row by writing a custom SelectionController overriding method HandleKeyOperations.
C#
public Form1() { InitializeComponent(); this.sfDataGrid.SelectionController = new CustomSelectionController(sfDataGrid); } public class CustomSelectionController : Syncfusion.WinForms.DataGrid.Interactivity.RowSelectionController { SfDataGrid DataGrid; public CustomSelectionController(SfDataGrid sfDataGrid) : base(sfDataGrid) { this.DataGrid = sfDataGrid; } protected override void HandleKeyOperations(KeyEventArgs args) { if (args.KeyCode == Keys.Enter) { KeyEventArgs arguments = new KeyEventArgs(Keys.Tab); base.HandleKeyOperations(arguments); return; } base.HandleKeyOperations(args); } }
VB
Public Sub New() InitializeComponent() Me.sfDataGrid.SelectionController = New CustomSelectionController(sfDataGrid) End Sub Public Class CustomSelectionController Inherits Syncfusion.WinForms.DataGrid.Interactivity.RowSelectionController Private DataGrid As SfDataGrid Public Sub New(ByVal sfDataGrid As SfDataGrid) MyBase.New(sfDataGrid) Me.DataGrid = sfDataGrid End Sub Protected Overrides Sub HandleKeyOperations(ByVal args As KeyEventArgs) If args.KeyCode = Keys.Enter Then Dim arguments As New KeyEventArgs(Keys.Tab) MyBase.HandleKeyOperations(arguments) Return End If MyBase.HandleKeyOperations(args) End Sub End Class
Sample: WF