如何在Windows窗体应用程序中创建Alt快捷方式?

时间:2011-01-07 13:17:13

标签: c# winforms shortcut

我想为Windows窗体应用程序中的某些控件创建键盘快捷键。

示例:

Screenshot of XYZ

注意带下划线的F E V P B.

我有一个标签和一个文本框控件。我想将 Alt 键盘快捷键与标签和文本框相关联。因此,如果有人按 Alt + B ,则会关注相关的文本框。有没有办法建立这种关联?

3 个答案:

答案 0 :(得分:11)

当标签通过按下其加速键(使用&设置)获得焦点时,它会将焦点转移到标签顺序中的下一个控件,因为标签不可编辑。您需要在Tab键顺序中将文本框作为下一个控件。

要查看并更正表单的Tab键顺序,请使用IDE中的View + Tab Order命令。使用TabPages或其他容器会为Tab键顺序添加一定级别的嵌套(例如,1.11.2,而不仅仅是12),但是如果标签和文本框在同一个容器内,不应该太难设置。

答案 1 :(得分:5)

键入&File&Edit,您将获得下划线。这将自动将带下划线的字母与Alt关键字绑定为快捷方式。

EDIT。 你的问题已修改,所以我想跟上我的回答。您想要捕获一些键组合(Alt + F)并将焦点设置到文本框。

您可以使用主窗体的KeyDown事件尝试此解决方案。

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Alt && e.KeyCode == Keys.F)
        {
            this.textBox1.Focus();
        }
    }

要实现此目的,您必须另外将表单的KeyPreview属性设置为true

答案 2 :(得分:0)

this.KeyDown += new KeyEventHandler(Form1_KeyDown);

void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
 if (e.Alt && e.KeyCode == Keys.W)
 { 
   btnShowConstructionCdFun(); 
 } 
}