Articles in this section
Category / Section

How to suppress KeyDown event in WinForms GridGroupingControl?

1 min read

Suppress KeyDown event

In order to suppress the key down event, the SuppressKeyPress property in TableControlCurrentCellKeyDown event can be used. Then overriding of ProcessCmdKey() method gets the keys data.

C#

// form
// Trigger the required event.
gridGroupingControl1.TableControlCurrentCellKeyDown += gridGroupingControl1_TableControlCurrentCellKeyDown;
 
void gridGroupingControl1_TableControlCurrentCellKeyDown(object sender, GridTableControlKeyEventArgs e)
{
      e.Inner.SuppressKeyPress = true;
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
   Keys keyCode = keyData & Keys.KeyCode;
   switch (keyCode)
   {
      case Keys.Down: MessageBox.Show("KeyDown Event suppressed");
              break;
      case Keys.Up: MessageBox.Show("KeyDown Event suppressed");
              break;
      case Keys.Right: MessageBox.Show("KeyDown Event suppressed");
              break;
      case Keys.Left: MessageBox.Show("KeyDown Event suppressed");
              break;
      case Keys.PageUp: MessageBox.Show("KeyDown Event suppressed");
              break;
      case Keys.PageDown: MessageBox.Show("KeyDown Event suppressed");
              break; 
  }
   return base.ProcessCmdKey(ref msg, keyData);
}

VB

' form()
' Trigger the required event. 
Private gridGroupingControl1.TableControlCurrentCellKeyDown += AddressOf gridGroupingControl1_TableControlCurrentCellKeyDown
Private Sub gridGroupingControl1_TableControlCurrentCellKeyDown(ByVal sender As Object, ByVal e As GridTableControlKeyEventArgs)
      e.Inner.SuppressKeyPress = True
   End If
End Sub
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
   Dim keyCode As Keys = keyData And Keys.KeyCode
   Select Case keyCode
       Case Keys.Down MessageBox.Show("KeyDown Event suppressed")
                break
       Case Keys.Up MessageBox.Show("KeyDown Event suppressed")
                break
       Case Keys.Right MessageBox.Show("KeyDown Event suppressed")
                break
       Case Keys.Left MessageBox.Show("KeyDown Event suppressed")
                break
       Case Keys.PageUp MessageBox.Show("KeyDown Event suppressed")
                break
       Case Keys.PageDown MessageBox.Show("KeyDown Event suppressed")
                break
   End Select
   Return MyBase.ProcessCmdKey(msg, keyData)
End Function

Screenshot

Show the keydown event suppressed

Samples:

C#: SuppressKeyDown_CS

VB: SuppressKeyDown_VB

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied