C#程序中如何用快捷键触发事件
来源:百度知道 编辑:UC知道 时间:2024/05/21 09:11:24
本人C#新手,希望能详细说明原由.
全局热键~
[DllImport("user32.dll")]
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, Keys vk);
[DllImport("user32.dll")]
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
这是设置和取消热键的API
RegisterHotKey(this.Handle, 200, 0, Keys.F2); 第一个是本窗口的句柄,第二个随便写一个数,如果多个热键的话要写不同,作为热键的标记,
取消热键的时候带入这个数字就可以了
UnregisterHotKey(this.Handle, 200);
在命名前加&以和它最近的字母为快捷键。
例如:&z
那么快捷键是:Alt+Z
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if(e.KeyValue==112 )//f1键的keyvalue是112
MessageBox.Show(e.KeyValue.ToString());
}
如上代码:编写form窗体的KeyUp事件,当按下键盘的时候就能触发这个事件,事件中就是判断按下的键是不是f1,是的话就弹出对话框
private void frmMain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.F2)
{
MessageBox.Show("按F1显示帮助!");