描述
我试图创建一个可以扩展的FlowLayoutPanel,例如以水平方式。

FlowLayoutPanel及其子组件 anchor 已设置为Top-Left-Right

FlowLayoutPanel方向已设置为TopDown。

->调整FlowLayoutPanel的大小时,其子组件的大小不会相应调整。

重现步骤

  • 在表单上创建FlowLayoutPanel控件。
  • 将FlowLayoutPanel的FlowDirection设置为TopDown。
  • 创建一个Button控件,并将其放置在FlowLayoutPanel控件中。
  • 选择“按钮”和“FlowLayoutPanel”并将其 anchor 设置为“左上右”
  • 尝试在水平方向上扩展FlowLayoutPanel。

  • -> FlowLayoutPanel调整了大小,但Button没有调整

    最佳答案

    FlowLayoutPanel仅用于以动态方式对其子控件进行布局。这并不意味着它们会在FlowLayoutPanel中自动调整大小。我猜想FlowLayoutPanel会忽略其子控件的Anchor属性。

    为了实现此效果,您需要在FlowLayoutPanel的SizeChanged事件上手动调整子控件的大小。

    但是,此时,您可能需要重新考虑FlowLayoutPanel是否确实是您要使用的对象。如果您始终希望按钮填充FlowLayoutPanel的宽度,则不妨将其粘贴在Panel中并使用 anchor ,或者将其设置为Dock属性。

    关于resize - 无法在FlowLayoutPanel控件中调整子控件的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1844145/

    10-10 08:15