1

我正在创作一个新的 UserControl,我想知道容器控件何时调整大小,以及何时将 UserControl 的宽度设置为容器的宽度?

我虽然可以设置 Alignable 属性并将其设置为 AlignTop 但当容器是 TabControl 时这不起作用,因为它将控件移动到选项卡上。

我不相信 AmbientChanged 事件会在父调整大小时触发?

有什么方法可以检测到这个吗?

4

1 回答 1

2

当父尺寸改变时,环境没有变化。由于Align无济于事,您需要使用表单或 tabstrib 的调整大小代码来调整用户控件的大小。

或者,您可以在图片框中对齐您的用户控件,但仍需要由容器在代码中调整其大小。

这里是龙!

另一个更脆弱的选择是获取对容器控件的引用并将其分配给VBControlExtender带有WithEvents. 然后,这将允许您对Resize事件做出反应(如果有的话)并调用Extender.Move. 请注意,您必须将代码添加到父表单以在关闭时清除它,否则您将获得循环引用并且表单将无法正确关闭。

于 2012-10-10T10:25:34.927 回答