我维护一个基于 Windows 窗体的应用程序框架。我没有明确指定选项卡顺序的奢侈 - 控件是在运行时添加的,因此 Visual Studio 无济于事。
标签顺序,尤其是涉及容器时,是一个谜。是否存在描述 Windows 窗体在运行时如何管理跳位顺序的资源?
发布的答案不正确,Z-order 与 tab 顺序无关。巧合的是,您在窗体上放置控件的顺序也会以可预测的方式设置 z 顺序和 TabIndex 属性值。一旦您使用“格式”菜单将控件移到前面或后面,它就会失控。只有 TabIndex 很重要。直观地说:否则就不需要该属性。
这里没有捷径,如果您不能使用设计器为您设置 TabIndex 属性,那么您必须自己设置它。您必须编写代码。这通常不是那么困难,只需从最后使用的值开始按顺序分配它,按 Tab 键顺序添加控件。如果您需要在使用设计器添加的控件之间插入分配的 TabIndex 值,请在分配的 TabIndex 值中留出空隙。
我想 MSDN 有权威指南。
同样重要的是:正如@jswolf19UpdateZOrder
的评论中所指出的那样。
选项卡索引设置为创建事物的顺序。但是无论如何,您都可以在运行时指定选项卡索引,因此在获得所需行为方面应该没有任何问题。