我查过由两种方法:1.button1.Text="button(&b)";2.设置Keydown事件。我现在想把按钮的快捷键设成F1,用不了第一个方法,我尝试第二中方法,在一个窗体中加个按钮,然后设置窗体的KeyDown事件,但是窗体出现后焦点就自动跑到按钮上了。而且无法使焦点再到窗体上了。我用this.Focus()返回false;麻烦问下,这样的问题应该怎么解决。如何吧按钮的快捷键设成F1

解决方案 »

  1.   

    我想,在窗体里的每个控件都写一个KeyDown事件,然后就不用管焦点在哪都可以捕捉到按键按下了。但这个办法有点笨,还由点麻烦。不知道大家由什么好的方法?
      

  2.   

            #region 全局快捷键设置
            /// <summary>
            /// 全局快捷键设置
            /// </summary>
            protected override bool ProcessCmdKey(ref   Message msg, Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Enter:   //   Enter OK快捷键 
                        //生成按钮的Click事件
                        debtnOK.PerformClick();
                        break;            }
                return base.ProcessCmdKey(ref   msg, keyData);
            }
            #endregion