解决方法
>如果承载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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。