热键到C#Windows应用程序中的按钮

Csh*_*ist 7 c#

如何在C#Windows应用程序中为热键设置按钮

Mic*_*tta 22

覆盖表格ProcessCmdKey.如果您找到自己喜欢的击键,请调用与该按钮相同的方法.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Control | Keys.X))
    {
        DoSomething();
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

private void button1_Click(object sender, EventArgs e)
{
    DoSomething();
}

private void DoSomething()
{
    MessageBox.Show("hi!");
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果你能找到合适的助记符,周杰伦的方法会更好.


Jay*_*ggs 13

将按钮的UseMnemonic属性设置为true,并在要用于热键的按钮的Text属性中的字母前添加一个&符号.

用户将按Alt +激活热键.


小智 9

Windows应用程序和快捷键是同义词.人们更喜欢使用快捷键来加快活动速度.假设您在文本框中,并且您想要按F5重新加载表单.您不想移动鼠标光标.那么,你将要做的是你将在文本框中添加"Key Down"事件.但是,如果您在不同的文本框或按钮中,那将无法正常工作.因此,您将向表单添加"Key Down"事件.

但是你需要启用一个属性才能正常工作,这就是诀窍.

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.F5)
    {
        btnRefresh_Click(null, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,黄金技巧是,在表单的属性窗口中进行以下更改:

KeyPreview = True 
Run Code Online (Sandbox Code Playgroud)

享受编程.