ISupportInitialize(BeginInit / EndInit)和SuspendLayout / ResumeLayout之间的区别

时间:2009-05-18 14:04:09

标签: .net winforms system.componentmodel

有人可以解释一下使用ISupportInitialize接口方法(BeginInit / EndInit)和使用SuspendLayout / ResumeLayout之间的区别吗?

ISupportInitialize是仅在构造/“初始”初始化期间使用...还是可以在以后想要将新的子控件添加到现有父控件时使用?

有什么特别的差异吗?

非常感谢您的帮助!

谢谢,

帕托

2 个答案:

答案 0 :(得分:4)

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

Suspend / ResumeLayout是一个纯粹的Windows.Forms的东西,真的告诉控件不要试图做图形而你是添加子控件或更改属性。

答案 1 :(得分:-1)

为此修改VB.Net中使用的代码,大多数反编译器都会出错。

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