C#热键问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:14:36
1.我已经在按钮的单击事件中写了代码,我想用Ctrl+A实现这个功能,我怎么去调用在单击事件中的代码.
2.菜单中的”Ctrl+字母”形式,是不是输入名字的时候一起输入进去的.
注:不要随便复制别人的代码来,尽量简单一点,刚学,先谢谢了!!
再请问一下:PerformClick怎么理解,还有快捷键(Ctrl+字母)你们是怎么输入进去的?
麻烦你了,虽然分不多,还是再给你加点.

菜单上那个快捷键,选则一个菜单项,在右边的属性栏的ShortcutKeys里加快捷键就可以了
========================================

把窗体的KeyPreview改成true
添加窗体的KeyDown事件。

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.A)
{
button1.PerformClick();
}
}

另外用e.modifers或e.KeyData也可以检查组合按键,但我觉得上面这种方法是最简单明了的。

你可以给窗体添加按键事件代码来处理窗体级的按键处理。比如:

protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.F2)
{
MessageBox.Show("按下了F2");
}
return base.ProcessDialogKey(keyData);
}