Однако система меню может не подходить для каждой формы.Если это так, вам придется сделать немного больше работы.По сути, вам нужно установить для свойства KeyPreview
формы, в которой размещен ваш TabControl
, значение True и определить сочетания клавиш, которые вы хотите использовать для переключения вкладок.
Настройка KeyPreview
формысвойство позволяет этой форме получать ключевые события до того, как эти события будут переданы в элемент управления, имеющий фокус.Это важно для того, чтобы этот метод работал, потому что в противном случае ваш код в обработчике событий KeyDown
формы никогда не обнаружит нажатия клавиш, которые вы хотите перехватить.Только после того, как форма завершит обработку каждого нажатия клавиши, они будут переданы в элемент управления, который обычно получает их.
Итак, после того, как вы установили это свойство, вам нужно добавить код в обработчик для формы KeyDown
событие , которое отслеживает любые сочетания клавиш, которые вы хотите использовать, а затем переключает вкладки соответствующим образом, если обнаруживает, что нажата одна из этих клавиш.В противном случае вам не нужно ничего делать.
Например, если в вашей форме три 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