菜单栏MenuStrip和右键菜单栏ContextMenuStrip可通过ShortcutKeys属性设置快捷键。 对于菜单项设置快捷键有两种方式 若以ALT键开始的话,只需要在菜单项的text属性设置的文本后加上(&+键码)就可以了,如下图 若以CTRL或SHIFT开始的话,设置ShortcutKeys属性就可以了 如下图 但是空间Button没有ShortcutKeys属性,那如何为控件Button设置快捷键(组合键)呢?除了使用&符号定义键,比如button1.Text = 保存(&S),还可以通过在控件所在窗体文件(cs文件)下重写ProcessCmdKey(ref Message msg,keys keydata)或ProcessDialogKey(keys keydata)的方法来允许用户对窗体的键盘消息的重新处理。 如下代码
///
/// 在窗体上通过重写ProcessCmdKey方法,处理用户按键
///
///
///
///
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
//这里是点击快捷键SHIFT+B选定加粗按钮
if (keyData == (Keys.Shift | Keys.B))
{
//模拟鼠标单击按钮
this.toolStripButton1.PerformClick();
//返回true,不再继续处理
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
///
/// 在对话框上重写ProcessDialogKey方法,处理用户按键
///
///
///
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == (Keys.Shift | Keys.I))
{
//模拟鼠标单击按钮
this.toolStripButton1.PerformClick();
//返回true,不再继续处理
return true;
}
return base.ProcessDialogKey(keyData);
}
|