C# WinForm窗体自定义功能快捷键

这里的快捷键并非系统全局快捷键。仅是普通的当窗体在焦点内是发生。有很多种方法,这里列举几种项目中使用到的方法。

Alt+*(一般控件快捷键)

        这个比较简单,只需为该控件的Text属性声明时加上”(&A)”,”(&D)” 之类的标识,例如一个Button按钮的Text属性为:this.btnOK.Text=”确定(&A)”;

Ctrl+*(组合键)

        当在某个窗体上按下一个组合键时发生。常用的如:打印(Ctrl+P),保存(Ctrl+S)…等等。

        首先需设置窗体的KeyPreview(确定窗体上控件的键盘事件是否已向窗体注册)属性设置为True

        然后只需在窗体的KeyDown事件中做相应业务处理。

         

private void Form1_KeyDown(object sender, KeyEventArgs e)

{     

    if ((e.KeyCode == Keys.P) && e.Control)    

        PrintToolStripMenuItem.PerformClick(); 

}

这里,如果要激活某个Button按钮事件,有三种写法:

btnOK.PerformClick();//执行该控件的Click事件

InvokeOnClick(btnOK,null);//为指定的控件引发Click事件

btnOK_Click(null,null);//直接调用按钮的Click事件,参数都为null

原文地址:https://www.cnblogs.com/feuji/p/2795570.html