C#:如何让用户控件正确自动调整大小

Svi*_*ish 22 c# user-controls dynamic winforms

我有一个UserControlLabel(顶部),一个FlowLayoutPanel(填充,顶部流动和没有包裹)和一个Panel(底部)组成的.用户控件根据获取的内容列表创建许多控件,并将它们添加到FlowLayoutPanel.

如何才能UserControl正确调整大小以使其FlowLayoutPanel没有任何滚动条?我曾尝试使用的各种组合AutoSize,并AutoSizeModeFlowLayoutPanelUserControl本身,但我似乎无法得到它的工作.要么我最终得到的东西根本没有自我调整,要么它不会变得足够大或者它被压缩到几乎没有.

Svi*_*ish 11

感谢所有的建议.这一次似乎是解决方案来AutoSizetrue两者的FlowLayoutPanel UserControl本身.

现在,如何获取包含此内容的表单UserControl以及其他一些我目前无法理解的控件,但我想这应该是一个单独的问题......


Mic*_*kel 5

您可以使用UserControl的Anchor-和Dock属性来设置选项,以便控件的边缘"粘合"到UI的其他部分.当UI调整大小时,您的控件将随之而来!

如果您在用户控件中的所有控件上使用锚点和停靠点并将它们设置为停靠控件的边缘,则控件将使用UserControl调整大小,您现在也可以将锚点/停靠点设置为UserControl.

  • 我知道,但我不希望控件根据他们的父母调整大小.我希望它增长或缩小,以便它足够大,可以覆盖`FlowLayoutPanel`的内容,而不会得到滚动条或剪切任何内容. (4认同)