如何让用户控件具有动态高度?

时间:2010-11-20 00:44:28

标签: c# winforms user-controls

我正在制作一个带有pictureBox和checkBox的控件。我将所有这些包装到Windows窗体中的用户控件中。

不是硬编码和找到所需的高度,有没有办法让它具有它的父控制器的高度,上边距和下边距为4px?

2 个答案:

答案 0 :(得分:2)

您可以将UserControl的Dock属性设置为Fill。这将使UserControl填充父容器的可用空间(不被其他停靠控件使用)。如果还需要填充,可以像下面这样设置父容器的DockPadding属性:

container.DockPadding.Top = 4;
container.DockPadding.Bottom = 4;

但是,如果您不希望控件也采用父容器的宽度,则应使用UserControl的Anchor属性。将它设置为Bottom和Top,如下所示:

this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top;

将其添加到容器中时,将其设置为LocationSize,使其顶部距容器顶部4个像素,底部距离底部4个像素。然后当容器调整其高度时,UserControl也将调整。

答案 1 :(得分:0)

是的,您可以在使用父控件中所需的填充调整控件大小后,将控件的Anchor属性设置为AnchorStyles.Top | AnchorStyles.Bottom

  

将控件锚定到其父控件可确保在调整父控件时,锚定边缘相对于父控件的边缘保持在相同位置。