在“flowlayoutpanel”内为“面板中的控件”设置锚点

时间:2011-04-13 10:45:40

标签: .net vb.net panel windows flowlayoutpanel

在我的Windows应用程序中

我在flowlayoutpanel内有一个普通的面板

在这个普通面板中,我有一些输入控件(例如标签,文本框......)

我设置了锚属性,认为当我调整窗口大小时它会自动调整大小。

但是当我测试它时,只有flowlayoutpanel会自动调整大小,因为我可以看到滚动条已经向右移动了......正常面板中的控制器根本没有移动。

谁知道这里有什么问题?

谢谢!

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。显然,FlowLayoutPanel中的控件根据此面板中最宽的控件进行调整。我通过重写“调整大小”来解决这个问题。 FlowLayoutPanel上的事件,并相对于FlowLayoutPanel的大小更改其中一个控件:

private void RulesPanel_Resize(object sender, EventArgs e)
{
    FlowLayoutPanel panel = (FlowLayoutPanel)sender;
    button_in_panel.Width = panel.Width - 50;
}

一旦设置好,其他的就会正确调整大小。对于那些指定了Anchors的人来说也是如此。

答案 1 :(得分:1)

在下面的帖子中,Lenny已经回答了这个问题

cannnot-resize-child-controls-in-a-flowlayoutpanel-control

或者这个:

flowlayoutpanel-issues

所以我认为没有办法。 你需要那种控制权吗?