ISupportInitialize(BeginInit/EndInit)与SuspendLayout/ResumeLayout的区别

12

请问使用ISupportInitialize接口方法(BeginInit/EndInit)和使用SuspendLayout/ResumeLayout有什么区别?

ISupportInitialize只在构造函数的"initial"初始化时使用,还是可以在后续添加子控件到现有的父控件时也能用?

它们之间有什么特别的区别吗?

非常感谢您的帮助!

谢谢,

Pato


今天我想通过将设计师代码转换来实现动态控件创建。哪个优先?BeginInit() 还是 SuspendLayout()?((ISupportInitialize)Process_GroupControl).BeginInit(); Process_GroupControl.SuspendLayout(); - CallMeLaNN
2个回答

5

ISupportInitialize接口存在于System.dll中,在组件领域中只是一个相当通用的概念。顺便说一下,System.Windows.Forms的许多部分都是组件,而Windows.Forms也是ComponentModel相关内容的主要用户。

Suspend/ResumeLayout是一个纯粹的Windows.Forms事物,它告诉控件在您添加子控件或更改属性时不要尝试进行图形操作。


-1

正确使用VB.Net中的代码,大多数反编译器都会弄错。

CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接