繁体   English   中英

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

[英]Resizing user control that is docked in Panel control does not resize Panel control - better solution?

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

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

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

因此,我的解决方案是以容器形式为用户控件和事件处理程序提供一个事件SizeChanged ,该事件相应地调整面板的大小。

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

好吧,您不希望使用Dock,因为这会强制控件的大小与面板大小匹配。 为此,您需要将面板的AutoSize属性设置为True,将AutoSizeMode设置为GrowAndShrink。 并使用Padding或控件的Margin进行调整,使面板更大。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM