Winforms 如何防止自定义用户控件上的单个控件散开(并且仍然允许调整大小)

Winforms 如何防止自定义用户控件上的单个控件散开(并且仍然允许调整大小),winforms,layout,Winforms,Layout,我的用户控件在其设计器中看起来像这样 [ 但当我将其放入父窗体时,它看起来是这样的: 我有一个包含“文件夹”按钮和组合框的主面板。 右侧的小导航按钮位于嵌套面板中 如果字体发生变化,我想调整单个控件的大小, 但是要保持它们的间距(我很恼火,因为很多应用程序都不能很好地处理这个问题,例如,如果使用大字体,就无法访问整个表单,切断按钮上的标签等等) 我已经尝试了很多方法,但是我使用了太多的变量(锚定、停靠、minsize、maxsize、autosize),并且没有尝试所有的交互。我希望有人知道这

我的用户控件在其设计器中看起来像这样

[

但当我将其放入父窗体时,它看起来是这样的:

我有一个包含“文件夹”按钮和组合框的主面板。 右侧的小导航按钮位于嵌套面板中

如果字体发生变化,我想调整单个控件的大小, 但是要保持它们的间距(我很恼火,因为很多应用程序都不能很好地处理这个问题,例如,如果使用大字体,就无法访问整个表单,切断按钮上的标签等等)

我已经尝试了很多方法,但是我使用了太多的变量(锚定、停靠、minsize、maxsize、autosize),并且没有尝试所有的交互。我希望有人知道这个神奇的组合,所以我不必用尽所有可能的方法


我应该使用不同的布局容器吗?我还没有研究过表或流布局容器。我认为它们会使事情更加复杂。

你可以使用dock或anchor(但不能同时使用两者)

  • Usich anchor指定控件应与父控件的哪个边界保持恒定距离,因此:

    • 文件夹
      应将锚点设置为顶部+底部+左侧
    • 版本
      输入应将锚定设置为顶部+底部+左侧+右侧
    • 向上
      部分的容器应具有锚顶部+底部+右侧
  • 使用船坞:

    • 文件夹
      应将停靠设置为左侧
    • Version
      input应该将Dock设置为Fill,并且应该是添加到容器中的第一个控件(在编辑器中右键单击它,然后单击“置于前端”)
    • Up
      部分的集装箱应将码头设置为右侧
  • 或者,您可以使用
    表格布局面板
    -第一列和最后一列的宽度不变,中间一列将与父列一起拉伸。

    “放在前面”似乎没有达到您所描述的预期效果。我必须在设计器中手动更改插入顺序,以使控件停靠在正确的位置。停靠和锚定似乎都有不希望的副作用。我尝试包含最小和最大大小,但这类操作无法达到全部目的。因此正确的答案是使用表格青年小组。