C# Winform快捷键设置

来源:互联网 发布:泰国q10牛奶洗面奶知乎 编辑:程序博客网 时间:2024/06/06 09:41

第一种:Alt + *

在button、label、menuStrip等控件的Text属性命名时,在命名后加上“&”并加指定字母或数字!注:快捷键“ * ”可以是字母也可以是数字。

举例:将一个botton命名为“变色”,快捷键设置为"Alt+D",则将其Text属性改为“变色(&D)”即可!在程序运行时,命令按钮上该字母"D"带有下划线,表明该字母就成为快捷键。

第二种:Ctrl + * 及其它组合键

将窗体Winform的KeyPreview属性设置为true,然后使用窗体的Keydown事件(首次按下某键时发生)。另外,与窗体的AcceptButton属性相关联的按钮,将与键盘上的Enter键对应;与窗体的CancelButton属性相关联的按钮,将与键盘上的Ecs键对应。举例:

        private void button1_Click(object sender, EventArgs e)
        {
            this.BackColor = Color.Blue;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.BackColor = Color.Red;
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            //单键  Ctrl+F1 或 Alt+F1 皆可
            switch (e.KeyCode)
            {
                case Keys.F1:
                    button2_Click(this, EventArgs.Empty);
                    break;

                case Keys.F2:
                    button1_Click(this, EventArgs.Empty);
                    break;
            }

             //组合键 Ctrl+F1
            if (e.KeyCode == Keys.F1 && e.Modifiers == Keys.Control) 
            {
                button2_Click(this, EventArgs.Empty);
            }
            
            //组合键 Ctrl + Alt + 字母C
            if ((int)e.Modifiers == ((int)Keys.Control + (int)Keys.Alt) && e.KeyCode == Keys.C)   
            {
                button2_Click(this, EventArgs.Empty);
                //MessageBox.Show("按下了Control + Alt + C");
            }
        }

第三种:使用user32.dll

此例,暂不详述!

0 0