4

我有一个带有一堆面板的表单,以及组框内的一些面板。在 Vs2005 中使用 TabOrder 工具时,容器外的控件被赋予整数(0),面板内的控件被赋予小数(72.0),组框内的面板内的控件被赋予三部分的值(73.73.0)。不幸的是,生成的标签顺序与我单击控件的顺序无关。

这个工具根本不支持嵌套容器吗?难道我做错了什么?当我单击时可能按住 Shift- 或 Ctrl- (我已经尝试过这些但没有成功)?

我是否将被迫为我的所有控件手动输入由三部分组成的标签顺序?那将是一个无赖。

4

5 回答 5

7

跳位顺序工具不是为您手动输入值而设计的;它旨在让您按照您希望它们作为用户选项卡的顺序单击控件。

数字不是小数;它们代表控件在其父容器中的 Tab 键顺序。例如,如果您有一个名为 named 的表单,其中包含一个named Panel,那么将显示如下数字:panel1Buttonbutton1button1

X.Y
  • X是标签顺序panel1
  • Ybutton1 是inside 的标签顺序panel1

我承认设计师并不像它应该的那样直观(或透明),但它确实有效。

于 2010-06-17T17:04:24.127 回答
2

我在 VS2010 的组框中的文本框和按钮也有同样的问题。TabOrder 工具毫无用处:无论我如何重新排序制表位,制表符顺序都被破坏了。为了做出正确的选项卡顺序,我必须重新排序控件如何添加到表单设计器初始化代码中的组框:

this.groupBox2.Controls.Add(this.startTimeTextBox);
this.groupBox2.Controls.Add(this.endTimeTextBox);
this.groupBox2.Controls.Add(this.exitButton);

这种方式选项卡顺序将是 startTimeTextBox -> endTimeTextBox -> exitButton 等等。

于 2013-04-10T11:59:35.463 回答
0

我想我想出了在设计器中做到这一点的方法:诀窍显然是您还必须单击面板/组框才能分配完整排序的不同部分;通过这种方式,似乎需要使用一种范围优先的单击方法,而不是单击子控件本身。

有点可悲,因为它迫使您了解整个表单的完整结构,而不仅仅是用户看到的内容。

于 2010-06-17T17:14:06.650 回答
0

我遇到了同样的问题并发现了这个工具: http: //archive.msdn.microsoft.com/cdstabindex

不过,我不得不更改清单以使其与 VS2010 一起使用。此外,我已经为自己修改了源代码以使 UI 更好一点,但即便如此,我还是建议您看看这个工具。

于 2012-11-06T18:10:31.930 回答
0

控件中删除 组框并重试这对我有用:)

于 2015-10-12T06:18:20.797 回答