Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501042
  • 博文数量: 60
  • 博客积分: 2673
  • 博客等级: 少校
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-09 00:25
个人简介

目前主要从事C++软件开发

文章分类

全部博文(60)

文章存档

2013年(3)

2012年(3)

2010年(6)

2009年(23)

2008年(25)

我的朋友

分类: C/C++

2009-04-17 23:14:15

1.怎样设置一个控件的快捷键(只按一个字母实现;及如何选择伴随shift,ctrl,alt实现)?
2.怎样设置整个窗体快捷键(不论焦点在哪,随时呼出。像F1)?
3.Accesskey属性在那里,说是可以在这个属性里直接键入快捷键就行?!

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//只按一个键

if (e.KeyCode == Keys.Enter)
{
//...............

}
else if (e.KeyCode == Keys.A)
{
//......................

}
}



//和alt,ctrl,shift组合使用的快捷键

private void Form1_KeyDown(object sender, KeyEventArgs e)
{

//这里可以是e.Alt,e.shift,e.ctrl

if (e.Alt && e.KeyCode == Keys.A)
{
MessageBox.Show(" ");
}
}

对于第二个问题,可以在form1的keyDown事件中写,不过非常重要是,要将Form1的KeyPreview属性改为true,这样就可以解决你的第二个问题了。

首先设置窗体的KeyPreview属性为True.

在窗体的KeyDown事件中写入处理的代码.不管是按什么键,都要先经过form的keydown事件

阅读(4371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~