C# 如何使用户控件具有动态高度?
我正在制作一个控件,其中有一个pictureBox和一个复选框。我将所有这些都包装到Windows窗体中的用户控件中C# 如何使用户控件具有动态高度?,c#,winforms,user-controls,C#,Winforms,User Controls,我正在制作一个控件,其中有一个pictureBox和一个复选框。我将所有这些都包装到Windows窗体中的用户控件中 除了硬编码和查找所需的高度外,是否有方法使其具有其父控制器的高度,比如说4px边距顶部和底部?是的,在使用父控件中所需的填充调整控件大小后,可以将控件的属性设置为AnchorStyles.top | AnchorStyles.bottom 将控件锚定到其父控件可确保在调整父控件的大小时,锚定的边相对于父控件的边保持在相同的位置 您可以将UserControl的Dock属性设置为F
除了硬编码和查找所需的高度外,是否有方法使其具有其父控制器的高度,比如说4px边距顶部和底部?是的,在使用父控件中所需的填充调整控件大小后,可以将控件的属性设置为
AnchorStyles.top | AnchorStyles.bottom
将控件锚定到其父控件可确保在调整父控件的大小时,锚定的边相对于父控件的边保持在相同的位置
您可以将UserControl的Dock属性设置为Fill。这将使UserControl填满父容器的可用空间(其他停靠控件不使用)。如果还需要填充,可以如下设置父容器的DockPadding属性:
container.DockPadding.Top = 4;
container.DockPadding.Bottom = 4;
this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top;
但是,如果不希望控件也采用父容器的宽度,则应使用UserControl的Anchor属性。将其设置为底部和顶部,如下所示:
container.DockPadding.Top = 4;
container.DockPadding.Bottom = 4;
this.Anchor = AnchorStyles.Bottom | AnchorStyles.Top;
将其添加到容器时,将其设置为位置
和大小
,使其顶部距容器顶部为4像素,底部距容器底部为4像素。然后,当容器调整其高度时,UserControl也会调整其高度