Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用户控件具有动态高度?_C#_Winforms_User Controls - Fatal编程技术网

C# 如何使用户控件具有动态高度?

C# 如何使用户控件具有动态高度?,c#,winforms,user-controls,C#,Winforms,User Controls,我正在制作一个控件,其中有一个pictureBox和一个复选框。我将所有这些都包装到Windows窗体中的用户控件中 除了硬编码和查找所需的高度外,是否有方法使其具有其父控制器的高度,比如说4px边距顶部和底部?是的,在使用父控件中所需的填充调整控件大小后,可以将控件的属性设置为AnchorStyles.top | AnchorStyles.bottom 将控件锚定到其父控件可确保在调整父控件的大小时,锚定的边相对于父控件的边保持在相同的位置 您可以将UserControl的Dock属性设置为F

我正在制作一个控件,其中有一个pictureBox和一个复选框。我将所有这些都包装到Windows窗体中的用户控件中


除了硬编码和查找所需的高度外,是否有方法使其具有其父控制器的高度,比如说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也会调整其高度