大量的视频堆叠的组合框,如何更好地组织它们?

时间:2014-08-19 07:03:04

标签: c# winforms

30grouboxes

就像那样。我有近30个组合框要组织,大多数都是叠加在一起,只是在视觉上启用或禁用顶部的组合框。我知道在Form1.designer.cs我可以手动输入他们的位置,但这没有多大帮助。关于如何最好地使用它有什么提示吗?我也试图增加窗口的大小,但还不够。

编辑: 我正在按照接受的答案multiplegroupboxes

有没有办法移动它们并将它们保持在相对位置? 编辑2:是的有:只需在一个更干净的区域创建一个面板,移动并调整面板中所需的组框,然后将面板移动到选项卡中,而不是设置组框的父级,设置父级的小组,例如

  panel1.Parent = tabPage3;

组合框将位于相对位置:)

1 个答案:

答案 0 :(得分:1)

您可以使用具有足够页面的隐藏Tab控件,并在其中移动GroupBoxes

当你的逻辑想要在你的目标容器上显示其中一个,一个TabPage,从你的截图判断,并隐藏另一个,你会做这样的事情:

groupBox2.Parent = yourTargetContainer;  // bring it out of the hidden Tab
groupBox1.Parent = hidden_tabPage1;      // hide it in a page of the hidden Tab

这里的yourTargetContainer是将GroupBox保存在某个Positions的容器。 GroupBoxes中的所有控件都将照常使用该框。

由于您需要在各种位置使用它们,因此您可以在每个GroupBox中添加一个标记,以便在yourTargetContainer上保存其位置:

groupBox1.Tag = new Point(250, 40);
groupBox2.Tag = new Point(250, 40);
groupBox3.Tag = new Point(250, 90);
// ...

并使用它将它放在正确的位置:

groupBox2.Parent = yourTargetContainer ;    
groupBox2.Location = (Point)groupBox2.Tag;

通过这种方式,您可以在设计师中轻松访问它们,您可以对它们进行微调。它将有助于找出他们应该去的网格布局..

但用户是否能够使用那些不断变化的输入控件?他们都有大屏幕吗?