如何重置 WinForms 应用程序上的选项卡索引?

Posted

技术标签:

【中文标题】如何重置 WinForms 应用程序上的选项卡索引?【英文标题】:How can the tab index on a WinForms app be reset? 【发布时间】:2019-10-18 13:42:28 【问题描述】:

我有一个单页 WinForms 应用程序,其中包含数十个“可选项卡”标签、文本框、滑块、组合框和其他控件。

这是我的第一个真正的应用程序,所以标签索引是失控的。我想重置它并从头开始。

有很多我什至不想要标签的项目(例如标签)。

我知道这可以手动完成,但我认为除了在初始化期间创建代码以修改选项卡索引之外,还必须有一种方法来批处理此更改。

我更喜欢在设计屏幕中进行。我的代码已经够用了,这是我需要采取的最后步骤之一。

我尝试突出显示所有内容并将所有内容的选项卡索引更改为 0,但我的应用中的某些内容似乎没有选项卡索引,这似乎禁用了该选项。

我的应用包含:

月历 纽扣 标签 组合框 文本框 滑块 复选框 富文本框 面板 工具条 数据网格

我只希望文本框、组合框和按钮可以选择。

【问题讨论】:

你不能只使用设计器中的属性窗口吗? 【参考方案1】:

如果这不是您想要的,请原谅我,但是您是否尝试过使用“视图”->“跳位顺序”下的“跳位顺序”选项?

从那里单击您希望标签顺序开始的位置,然后单击下一步,直到完成。无论如何,这是最简单的方法。

【讨论】:

太棒了,我从来不知道这个。以前从未见过这种设置。这非常有帮助。谢谢。 完全没问题。我自己是 Visual Studio 的新手。所以我要帮忙! 对于那些无法在“查看”菜单下找到“Tab Order”的人,这里是如何重新添加它:***.com/a/15420491/973927【参考方案2】:

好吧,要设置它,您可以使用 Tab Order 工具 (View > Tab Order):

如果您需要删除每个 TabIndex 属性(其设置顺序与您将控件添加到 Form 的顺序相同),您可以转到 Designer.cs/vb 并将每个分配替换为什么都没有,或者用中性的TabIndex,比如0。下面是一个使用正则表达式进行替换的例子:

【讨论】:

OP 可能必须为他们不想包含在选项卡中的控件设置TabStop = false。当然这可以通过设计器的属性窗口来完成。 希望我不需要它来解决这个问题,但非常感谢。很高兴知道这一点。谢谢。

以上是关于如何重置 WinForms 应用程序上的选项卡索引?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 X、Y 坐标以编程方式确定表单上字段的选项卡索引?

如何在选项卡面板中获取活动选项卡索引?

动态更改活动选项卡索引 jQuery UI 选项卡

使用jQuery组织选项卡索引

以编程方式使用选项卡更改片段的选项卡索引

选项卡索引不起作用richfaces 弹出面板