Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / WinForms

Implementing shortcut keys for toolstrip

3.50/5 (2 votes)
21 Aug 2011CPOL 38K  
How to activate a toolstrip button via a shortcut key
The first time I used the toolstrip, I was surprised by the fact that toolstrip buttons don't have a shortcut key attribute. Luckily there is a simple workaround.

First, create the button handlers for the toolstrip. E.g.

C#
private void btnOk_Click(object sender, EventArgs e) {
  Accept = true;
  Close();
}

private void btnCancel_Click(object sender, EventArgs e) {
  Close();
}


Next, implement the KeyDown event handler for the form. In the following example, Ctrl+Enter is used to activate the OK button and Escape to activate the Cancel button.

C#
private void RenameF_KeyDown(object sender, KeyEventArgs e) {
  if (e.Control == true && e.KeyValue == 13) {
    btnOk_Click(sender,null);
  }
  if (e.KeyValue == 27) {
     btnCancel_Click(sender, null);
  }
}


Finally, you must set the form's KeyPreview attribute to true. This has to be done in order to have the keyPress event from the child controls passed to the form's handler.

C#
private void MainF_Load(object sender, EventArgs e) {
  this.KeyPreview = true;
}


That's it!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)