我想为Windows窗体应用程序中的某些控件创建键盘快捷键。
示例:
注意带下划线的F E V P B.
我有一个标签和一个文本框控件。我想将 Alt 键盘快捷键与标签和文本框相关联。因此,如果有人按 Alt + B ,则会关注相关的文本框。有没有办法建立这种关联?
答案 0 :(得分:11)
当标签通过按下其加速键(使用&
设置)获得焦点时,它会将焦点转移到标签顺序中的下一个控件,因为标签不可编辑。您需要在Tab键顺序中将文本框作为下一个控件。
要查看并更正表单的Tab键顺序,请使用IDE中的View + Tab Order命令。使用TabPages或其他容器会为Tab键顺序添加一定级别的嵌套(例如,1.1
,1.2
,而不仅仅是1
和2
),但是如果标签和文本框在同一个容器内,不应该太难设置。
答案 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();
}
}