c# - 在我的应用程序中更改事件选项卡的快捷方式

标签 c# winforms user-interface keyboard-shortcuts

我的应用程序有一个主窗口,其中包含一个带有大约 7 个 TabItem 的 TabControl。我在每个 tabItem 中放置了一个 UserControl。

我希望(无论是事件选项卡还是控件)当用户按下组合键然后用户界面跳转到特定选项卡时。也就是说,与 Firefox 的行为相同:alt+1 转到第一个选项卡,alt+n 转到第 N 个选项卡。

我怎样才能做到这一点?或者...我应该开始搜索什么?

我无法向您展示任何代码,因为问题是我不知道如何开始。

谢谢

最佳答案

设置表单的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;
    }
}

关于c# - 在我的应用程序中更改事件选项卡的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1718278/

相关文章:

c# - 如何处理 FileHelper 类中 SQLDecimal 数据类型的空值

c# - Angular 2,C# MVC ApiController : Error on Get Request from C# Rest Api

c# - 文本框验证,焦点切换问题

xml - Wix 工具集自定义 UI 查看器

java - 将 Jpanel 添加到 Jframe NetBeans

c# - 从数据表中删除第一列

c# - 将C#代码转换为vb.net

c# - 单击按钮时无法一次看到所有文件类型的图像

c# - 如何在 ListBox Windows 窗体中创建自定义项?

android - Kivy ScrollView+ Accordion 错误