【问题标题】:how to set Tab index for tab page windows form如何为标签页窗口窗体设置标签索引
【发布时间】:2019-06-12 14:39:55
【问题描述】:

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

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

【问题讨论】:

    标签: vb.net windows-forms-designer


    【解决方案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
    

    【讨论】:

    • 这看起来是最好的方法,特别是第二种方法,因为如果您不使用选项卡,第一种方法可能会出现问题(使用鼠标意味着用户将填充内容,因为他认为合适所以更改标签,因为他首先单击该字段可能是一个问题。第二个选项是我需要的,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 2011-05-15
    相关资源
    最近更新 更多