更多控件具有相同的tabindex时的Tab顺序?
Posted
技术标签:
【中文标题】更多控件具有相同的tabindex时的Tab顺序?【英文标题】:Tab order when more controls have the same tabindex? 【发布时间】:2022-01-12 03:05:22 【问题描述】:当多个控件具有相同的tabindex
属性时,是什么决定了 Tab 键的顺序?
例如,在将 texbox 添加到空表单后,texbox 的 tabindex
为 0。通过复制 texbox(Ctrl + 鼠标拖动),新文本框的 tabindex
也为 0。然后我添加了一个按钮,它的tabindex
是 1。
运行程序后,焦点位于第二个文本框。
然后我将按钮的 tabindex
更改为 0,因此之后所有控件的 tabindex
= 0 并且在运行程序后焦点位于最后添加的按钮上。
这是否意味着在多个具有相同tabindex
属性的控件的情况下,Tab 顺序将是与添加控件的顺序相反 到表单?似乎共享相同tabindex
的控件的选项卡顺序与它们在Form.Designer.cs
文件中的出现顺序正好相反。
或者当它们共享相同的tabindex
时,按钮控件总是优先于文本框控件?
这是否记录在某处?
【问题讨论】:
如果 Metro Smurf 的回答对您有帮助,您可以点击“✔”将回复标记为已接受答案。它还将帮助其他人解决类似的问题。 【参考方案1】:来自 MSDN Control.TabIndex Property
标签索引可以由任何大于或等于的有效整数组成 零,较低的数字在制表符顺序中较早。如果不止一个 同一父控件上的控件具有相同的选项卡索引,z 顺序 控件的数量决定了循环通过控件的顺序。
还有一点细微差别:
对于要包含在 Tab 键顺序中的控件,它的 TabStop 属性 必须设置为 true。
因此,由于 z-index 值,您会看到具有相同 TabIndex
值选项卡的控件与代码隐藏文件的顺序相反。
【讨论】:
您是否知道如果控件具有相同的 z-index 会发生什么? @Chupo_cro - 你总是可以尝试不同的标签顺序和 z-index 看看会发生什么:)以上是关于更多控件具有相同的tabindex时的Tab顺序?的主要内容,如果未能解决你的问题,请参考以下文章