有关快捷键
C#中如何设置快捷键?比如:
private void button2_Click(object sender, System.EventArgs e)
{
this.Hide();
}
我想设置为 Esc 为button2 的快捷键。
谢谢!
问题点数:5、回复次数:6Top
1 楼fellowcheng(鹰击长空)回复于 2005-02-03 16:48:43 得分 0
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData==(Keys.Escape))
{
//do something here
return base.ProcessCmdKey (ref msg, keyData);
}
}Top
2 楼yangyunzhao(周南梦里人)回复于 2005-02-03 16:50:52 得分 0
不好意思,还是不怎么明白啊Top
3 楼fellowcheng(鹰击长空)回复于 2005-02-03 16:54:04 得分 3
写错了,不好意思
其实就是捕获一下窗体接收到的键盘消息,然后在做你想要的事
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData==(Keys.Escape))
{
this.Hide();
}
return base.ProcessCmdKey (ref msg, keyData);
}Top
4 楼chenyuming2004(这辈子我算是废了)回复于 2005-02-03 16:55:07 得分 2
如果你只是想
用户按ESC键,
就执行button2_Click
你可以设置
窗体的
CancelButton属性设置为button2Top
5 楼yangyunzhao(周南梦里人)回复于 2005-02-03 17:01:55 得分 0
谢谢,楼上的。你说的这个办法很简单。但是我还是想多知道点,我是这样的:
private void button2_keydown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(keyData==(Keys.Escape))
{
this.Hide();
//return base.ProcessCmdKey (ref msg, keyData);
}
}
还是有问题。keyData 的命名空间?这样可以么?Top
6 楼lemonnn1(萌萌)回复于 2005-05-26 18:16:55 得分 0
把keyData改成e.KeyCodeTop





