C# 调整停靠在面板控件中的用户控件的大小不会调整面板控件的大小-更好的解决方案?

C# 调整停靠在面板控件中的用户控件的大小不会调整面板控件的大小-更好的解决方案?,c#,winforms,user-controls,C#,Winforms,User Controls,我有一个用户控件,它有两个大小选项(用户控件中有一个按钮,用于在两个选项之间切换)-类似于section-折叠/展开 此用户控件放置在面板控件上并停靠以填充它 我需要根据用户控件的大小重新调整此面板的大小。我希望它会自动发生,因为用户控件被停靠以填充面板,但是面板的SizeChanged事件不会被触发 因此,我的解决方案是在容器形式中为用户控件和eventhandler设置一个事件SizeChanged,它相应地调整面板的大小 但这不是应该自动工作吗(正如我上面提到的)?如果不是,那么为什么对用

我有一个用户控件,它有两个大小选项(用户控件中有一个按钮,用于在两个选项之间切换)-类似于section-折叠/展开

此用户控件放置在面板控件上并停靠以填充它

我需要根据用户控件的大小重新调整此面板的大小。我希望它会自动发生,因为用户控件被停靠以填充面板,但是面板的
SizeChanged
事件不会被触发

因此,我的解决方案是在容器形式中为用户控件和eventhandler设置一个事件
SizeChanged
,它相应地调整面板的大小


但这不是应该自动工作吗(正如我上面提到的)?如果不是,那么为什么对用户控件大小的更改不会触发容器控件的
SizeChanged
事件?

好吧,您不希望停靠,因为这会强制控件的大小与面板大小匹配。要以另一种方式执行此操作,需要将面板的AutoSize属性设置为True,AutoSizeMode设置为Growth和Shrink。并使用填充或控件的边距来调整面板,使其更大一些


请记住,不断变化的面板大小往往会给您带来更多的布局问题与其余的窗口,东西可能不得不移动的方式,以提供空间。FlowLayoutPanel往往是下一个选择。或者面板的SizeChanged事件,当自动布局无法再处理它时。

好吧,您不希望停靠,因为这会强制控件的大小与面板大小匹配。要以另一种方式执行此操作,需要将面板的AutoSize属性设置为True,AutoSizeMode设置为Growth和Shrink。并使用填充或控件的边距来调整面板,使其更大一些


请记住,不断变化的面板大小往往会给您带来更多的布局问题与其余的窗口,东西可能不得不移动的方式,以提供空间。FlowLayoutPanel往往是下一个选择。或者面板的SizeChanged事件,当自动布局无法再处理它时。

好吧,您不希望停靠,因为这会强制控件的大小与面板大小匹配。要以另一种方式执行此操作,需要将面板的AutoSize属性设置为True,AutoSizeMode设置为Growth和Shrink。并使用填充或控件的边距来调整面板,使其更大一些


请记住,不断变化的面板大小往往会给您带来更多的布局问题与其余的窗口,东西可能不得不移动的方式,以提供空间。FlowLayoutPanel往往是下一个选择。或者面板的SizeChanged事件,当自动布局无法再处理它时。

好吧,您不希望停靠,因为这会强制控件的大小与面板大小匹配。要以另一种方式执行此操作,需要将面板的AutoSize属性设置为True,AutoSizeMode设置为Growth和Shrink。并使用填充或控件的边距来调整面板,使其更大一些


请记住,不断变化的面板大小往往会给您带来更多的布局问题与其余的窗口,东西可能不得不移动的方式,以提供空间。FlowLayoutPanel往往是下一个选择。或者当自动布局无法解决此问题时,面板的SizeChanged事件。

谢谢!至于面板大小的变化-我把它放在一个TableLayoutPanel行中,自动调整行高,所以它似乎工作正常谢谢!至于面板大小的变化-我把它放在一个TableLayoutPanel行中,自动调整行高,所以它似乎工作正常谢谢!至于面板大小的变化-我把它放在一个TableLayoutPanel行中,自动调整行高,所以它似乎工作正常谢谢!至于面板大小的变化,我把它放在一个TableLayoutPanel行中,行高自动调整,所以它看起来工作正常