控件的停靠样式

本文关键字:样式 停靠 控件 | 更新日期: 2023-09-27 17:59:15

我有一个用户控件,它顶部有两个按钮,下面有一个网格

该UC1被放置在另一个用户控件UC2内。

在UC2中的某些情况下,我不需要UC1上的两个按钮,因此我将这两个按钮设为可见false,并将网格的停靠样式设置为填充。

grid.Dock = DockStyle.Fill;

但在某些情况下,我需要UC1上的这两个按钮,我将两个按钮设置为可见的true,然后将网格的dock样式设置为None

grid.Dock = DockStyle.None;

将DockStyle设置为none后,网格的宽度会变小,不适合UC2的宽度。

如果我不使用DockStyle.None,那么网格和按钮就会重叠。

如何解析UC1中网格的宽度以适应UC2的宽度?

控件的停靠样式

您应该首先在CU1上放置一个TableLayoutPanel,并将其设置为Fill。

然后在此表中,为包含两个按钮的面板创建一行,并为包含CU2的面板创建第二行。然后,可以将额外的面板和CU2全部设置为"填充"。

要显示或隐藏按钮,只需将面板行的行高设置为适当的值或零即可。