【问题标题】:Is there a way to make a TabControl to be any of its tabs selected?有没有办法让 TabControl 成为选中的任何选项卡?
【发布时间】:2016-11-16 23:55:38
【问题描述】:

我的客户希望在一个表单上有两个单独的选项卡列表,但在两个选项卡列表中只能选择一个选项卡。我可以创建两个TabControls 像这样工作吗? IE。当在第一个 TabControl 处选择一个选项卡时,另一个选项卡应取消选择所有选项卡,反之亦然。

编辑:
这是他想象的:

【问题讨论】:

  • 取消选择标签是什么意思?
  • 嗯?在每个激活/选中的 TabControl 中始终有一个 TabPage。 “取消选择”是什么意思?如果他们不应该能够访问的东西可以访问,那么听起来设计是有缺陷的。
  • 取消选择是指 TabControl 的任何选项卡都不会处于选中状态。 TabPage 的内容将被隐藏,因此任何 TabControl 中的选择将仅在其下方显示一个面板。不能以某种方式绑定两个 TabControl 吗?
  • 创建一个类似向导的TabControl,就像this post 中的第二个一样,然后有一些RadioButton 具有Button 样式的控件,并根据选定的RadioButton 选择一个TabPage。如果您在应用该解决方案时遇到任何问题,请告诉我。
  • 单选按钮位于选项卡控件上方,就像您的屏幕截图一样,但重点在TabControl。使用面板会很痛苦。如果您使用面板,您应该管理显示和隐藏它们,并且在设计时很难管理它们。使用没有标题或某些用户控件的 TabControl 是最佳选择。要查看无标题选项卡控件,请查看我在链接帖子中的答案并使用答案的第二部分。

标签: vb.net winforms tabcontrol tabpage


【解决方案1】:

根据你的形象,我相信你应该使用RadioButtons。这将选择限制为只有 1 个按钮,但您可以将它们放在任何您想要的位置。然后你可以有一个容器,根据选择的按钮进行填充。

【讨论】:

  • 嗯,谢谢,这与我的标签想法非常相似,但听起来可以正确使用正确的控件来解决问题。我正在尝试这个!
【解决方案2】:

如果我理解正确,您可以在表单上放置一个 tabcontrol(tabcontrol1)。为要显示的每组页面添加一个标签页。

在每个选项卡页上,在 tabcontrol1 中,添加另一个选项卡控件,然后在每个选项卡中添加您想要的任意数量的页面。

要限制对 tabcontrol1 中特定选项卡的访问,请将其 enabled 属性设置为 false;

基本上你会得到嵌套的标签页

另一种选择是创建标签页集合,您可以在单个标签控件中交换进出。

接近图片显示的一种方法是使用面板并将选项卡控件放入其中。

【讨论】:

  • 是的,但是嵌套选项卡不是我想要的,但是谢谢 :) 我需要两个单独的选项卡控件来处理它们的选项卡,就好像它们是一个一样,所以只有一个可以在一次。
  • @monami - 通过使用 enabled 属性,您一次只能保留一个标签页。您还可以使用标签页集合并根据需要将它们换入和换出。
  • 我添加了关于想象的图片,您能就此提出建议吗? False 中的 Enabled 属性仍然没有取消选择活动选项卡,只是无法选择其中任何一个。
  • @monami - 我想出了另一个主意,它可能仍然不是 100% 正确,但它更接近了。
  • 好的,但是这样内容被分割并且一次选择了两个选项卡:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 2021-05-24
  • 2021-09-06
  • 2012-02-15
  • 2021-12-18
相关资源
最近更新 更多