是否有一种简单的方法为Visual Studio 2010中的选项卡控件中的选项卡设置键盘快捷键?我可以设置一些属性吗? 我在网上看了,但我看到的所有文章都很混乱. 不幸的是,没有任何这样的属
我在网上看了,但我看到的所有文章都很混乱.
不幸的是,没有任何这样的属性,但实现这个功能也不一定很困难.根据应用程序的设计,有两种方法值得考虑.>如果承载TabControl的表单已经使用了菜单系统,那么设置几乎是微不足道的.首先,您需要添加一个菜单命令,切换到TabControl中的每个TabPage.然后,您可以简单地为该菜单项添加键盘快捷键(这是MenuItem / ToolStripMenuItem的简单属性),这样无论何时按下该键,都会执行该菜单命令,切换到相应的TabPage.
>但是,菜单系统可能不适合所有表单.如果是这样的话,你将不得不做更多的工作.基本上,您需要将托管TabControl的表单的KeyPreview属性设置为True,并检测要用于切换选项卡的键盘快捷键.
设置表单KeyPreview
property允许该表单在将这些事件传递给具有焦点的控件之前接收键事件.这对于此方法的工作至关重要,否则,表单的KeyDown事件处理程序中的代码将永远不会检测您要捕获的键击.只有在表单完成处理后,每次击键才会将它们传递给通常会接收它们的控件.
因此,一旦设置了此属性,就需要将代码添加到表单KeyDown
event的处理程序中,该处理程序会监视您要使用的键盘快捷键,然后如果检测到其中一个键被按下,则相应地切换选项卡.否则,您不必做任何事情.
例如,如果表单上有三个TabPages,您可能会认为F2将切换到第一个选项卡,F3将切换到第二个,F4将切换到第三个(尽管显然,您可以使用您想要的任何键).然后,您可以将以下代码添加到表单的KeyDown事件处理程序中,该处理程序检测那些被压缩的键并相应地执行操作:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown Select Case e.KeyCode Case Keys.F2 'Switch to the first tab page MyTabControl.SelectedIndex = 0 Case Keys.F3 'Switch to the second tab page MyTabControl.SelectedIndex = 1 Case Keys.F4 'Switch to the third tab page MyTabControl.SelectedIndex = 2 End Select End Sub