我的应用程序有一个主窗口,其中包含一个带有大约7个TabItem的TabControl。在每个tabItem里面我放了一个UserControl。
我希望(无论是活动标签或控件)当用户按下组合键时,用户界面会跳转到特定标签。也就是说,Firefox:alt + 1转到第一个标签的行为相同,alt + n转到N标签。
我怎样才能做到这一点?或者......我该怎么开始搜索?
我无法向您展示任何代码,因为问题是我不知道如何开始。
由于
答案 0 :(得分:7)
将表单的KeyPreview
属性设置为true
,覆盖表单的OnKeyDown
(或OnKeyUp
)方法,并输入以下代码:(未经测试)
protected override void OnKeyDown(KeyEventArgs e) {
base.OnKeyDown(e);
if (e.Alt && e.KeyCode > '0' && e.KeyCode <= '9') {
tabControl.SelectedIndex = (int)(e.KeyCode - '1');
e.Handled = true;
}
}