(2)假如窗体Form中已经有控件,而又想响应窗体Form的键盘响应事件

   如Form1_KeyPress事件,此时你会发现,当前当你按下按键的时候,Form1_KeyPress事件并没有得到响应,为什么呢?因为KeyPress事件是在控件获得焦点的时侯,按下按键才能得到响应的,当窗体中有控件时,窗体是不会获得焦点的,除非窗体中没有控件,此时窗体是当前获得焦点,可以响应响应的键盘事件。

  当窗体中有控件时,如何解决窗体键盘响应事件呢?方法很简单,只需把Form1 的KeyPreview属性设为true即可。KeyPreview属性是指:确定窗体上控件的键盘事件是否已向窗体注册。

  (3) 举例说明:

private void FrmMain_Load(object sender, EventArgs e)
{
this.KeyPreview = true;//获取或设置一个值,该值指示在将键事件传递到具有焦点的控件前,窗体是否将接收此键事件。
}
private void FrmMain_KeyUp(object sender, KeyEventArgs e)
{
if (Keys.F1 == e.KeyCode)    {
//MessageBox.Show("您所按动的键是:" + e.KeyCode.ToString());
Help.ShowHelp(this,@"C:UsersHongYeDesktopRevitAPI.chm");
}
}