In C# (Microsoft Visual Studio 2010), how can I assign a keyboard shortcut to a button such as the following?
private void closeButton_Click(ob
Here's a different approach:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch(keyData)
{
case Keys.F2:
// do something...
return true;
case Keys.F3:
// do something...
return true;
case Keys.F4:
// do something...
return true;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}
You don't need to change KeyPreview
value.
KeyDown is your friend ;) For example, if you want the shortcut key A while Shift is pressed, try this:
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A && e.Shift)
// Do something
}
If you want a "real" keyboard shortcut you can use hooks. Look at Stack Overflow question RegisterHotKeys and global keyboard hooks?.
if you want add Ctrl + S in switch statment so you can also try below code.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Control | Keys.S:
// do something...
return true;
case Keys.Control |Keys.Alt | Keys.S:
// do something...
return true;
case Keys.F2:
// do something...
return true;
case Keys.F3:
// do something...
return true;
case Keys.F4:
// do something...
return true;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}