我在面板中有一些按钮。我希望按钮像Windows任务栏一样,当一个应用程序被取消固定时,空间会自动调整。
目前在我的面板中,当用户移除按钮(b2)时,b1和b3之间仍留有空白。我希望b3占用空白区域。
答案 0 :(得分:0)
因为你在WinForms中:
将FlowLayoutPanel
属性设置为FlowDirection
并设为LeftToRight
,它将自动处理。如果你完全嫁给标准Panel
(我不确定你为什么会这样),你必须重新发明一点:
public Form1()
{
this.panel1.ControlRemoved += this.Panel1_ControlRemoved;
}
private void Panel1_ControlRemoved(object sender, ControlEventArgs e)
{
int padding = 3;
int lastRight = 0;
foreach ( Control child in this.panel1.Controls )
{
child.Left = padding + lastRight;
lastRight = child.Right + padding;
}
}
添加控件等时无法处理...使用FlowLayoutPanel
。