如何在WinForms中获得类似StackPanel的布局

hom*_*ast 22 .net winforms

我用三个按钮创建了一个对话框.我将这些按钮放在FlowLayoutPanel中,并将FlowDirection设置为TopDown.

我试图将按钮的大小调整为面板的宽度,然后将Anchor设置为Left + Top + Right.这似乎对FlowLayoutPanel没有影响.

有一个简单的解决方案吗?我知道我可以使用FlowLayoutPanel的OnResize事件,并朝着那个方向前进,但希望能够进行设计时设置.

小智 22

你可以使用TableLayoutPanel,如果显式行管理不太烦人.


Yen*_* NQ 16

要实现此布局,只需在以下项上设置以下所有属性FlowLayoutPanel:

AutoScroll = True
FlowDirection = TopDown
WrapContents = False
Run Code Online (Sandbox Code Playgroud)

检查了解详细信息

  • 我知道这是一个老问题,但我来到这里正在寻找@hometoast刚刚说的话.FlowLayoutPanel不允许子控件锚L + T + R. (3认同)
  • 否。问题的关键是要在容器堆栈中自上而下具有按钮或标签,并像按锚定左+上+右一样调整容器的大小。 (2认同)

dah*_*vyd 5

一个FlowLayoutPanel中可能是最适当的控制.它避免了行管理方面的问题TableLayoutPanel.

  • 但它不会像设计时那样布局控件.(简直不敢相信我记得这个问题就是4.5岁了!) (3认同)