【问题标题】:How to grow all controls within form如何在表单中增加所有控件
【发布时间】:2017-10-24 18:28:57
【问题描述】:

我在调整两个面板中的控件大小时遇到​​了困难...

我有一个表格,其中两个面板相互堆叠。顶部面板占表单的 38%,底部面板占表单的 58%,两者之间有 4% 的间隙。我有一个选项卡控件和另一个分组框。

我一直在尝试在面板中执行填充/停靠,这将导致所有控件随着面板的大小而增长和缩小。换句话说,我试图根据表单大小为所有控件保持相同的空间和大小百分比。 Visual Studios 在尝试不同的填充/停靠时不断崩溃,我不想计算每个控件的大小百分比和 x/y 坐标。有没有办法在面板或容器中设置填充,使其在大多数尺寸下看起来几乎相同?

【问题讨论】:

  • 可能值得一看 TableLayoutPanel 控件。在 winforms 中,我经常使用它们作为控制调整大小缩放/定位的简单方法。它就像一个不可见的表格,您可以使用它来将行/列大小设置为固定大小或父级的百分比。如果 TableLayoutPanel 的 Dock 设置为与其子控件一起填充,则所有调整大小都会根据您在更改窗口或面板大小时设置的像素/百分比值处理

标签: vb.net forms panel


【解决方案1】:

根据我的经验,对接带来的问题多于帮助。相反,我所做的是将控件取消停靠,然后将它们固定在所有侧面。然后我在面板中按我想要的方式调整它们。然后,如果面板被调整大小,锚定在其中的控件将相应地调整大小,并且它将保持在我想要的边界内。试试看。

【讨论】:

  • 谢谢,真的不想这样做,因为我以前做过,而且非常耗时。我几乎惊呆了,微软没有在其中放置一个真正的自动大小的属性。例如,测量容器大小的所有间距百分比和位置百分比,然后自动执行所有操作。我想我可以为任何未来的形式制作自己的方法哈哈
  • 这就是编码。有时您会想出创造性的方法来解决问题,或者您会想到一个全新的解决方案。
猜你喜欢
  • 2010-09-25
  • 2011-10-07
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多