1

我有一个 Windows 窗体,里面有一个带有 2 个 TabPages 和 TextBoxes 的 TabControl。我需要使用 Tab 键导航所有字段(填充第一个 TabPage,然后填充到第二个)。

我已经为 TabPages 中的每个 TextBox 设置了 TabIndex,问题在于虽然 TabControl 具有 TabIndex 属性,但 TabPages 没有该属性,所以我最终从一开始就选择了 TabControl(给了我选项 TabPages 的选择 1 ),然后进入该选项卡,但在完成该选项卡后,它会离开 TabControl(让 TabPage 我没有选择未触及)

4

1 回答 1

1

没有一种干净的方法可以做到这一点,但您可以尝试使用第一个 TabPage 中的最后一个 TextBox 来切换选项卡:

Private Sub TextBox2_Leave(sender As Object, e As EventArgs) Handles TextBox2.Leave
  TabControl1.SelectedTab = TabPage2
End Sub

另一种方法是覆盖表单的 ProcessCmdKey:

Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
  If keyData = Keys.Tab AndAlso TextBox2.Focused Then
    TabControl1.SelectedTab = TabPage2
    Return True
  End If
  Return MyBase.ProcessCmdKey(msg, keyData)
End Function
于 2019-06-12T15:02:34.297 回答