.net - ISupportInitialize (BeginInit/EndInit) 和 SuspendLayout/ResumeLayout 的区别

标签 .net winforms system.componentmodel

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

ISupportInitialize 是否仅在构造/“初始”初始化期间使用......或者当您想将新的子控件添加到现有父控件时可以使用它?

有什么特别的区别吗?

非常感谢您的帮助!

谢谢,

帕托

最佳答案

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

Suspend/ResumeLayout 是一个纯粹的 Windows.Forms 事情,并且真正告诉控件不要尝试在你做图形时,例如。添加子控件或更改属性。

关于.net - ISupportInitialize (BeginInit/EndInit) 和 SuspendLayout/ResumeLayout 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877904/

相关文章:

c# - 使用 vb.net 声明一个 IsInDesignMode 属性以在 wpf 中使用

c# - MS Windows 服务和 https

.net - 如何在没有返回变量的情况下调试 VB.NET 计算函数返回

c# - 发布版本中 visual studio 2010 中的核心转储

winforms - 如何加载具有一种形式的 DLL,并且我想在正在创建 exe 文件的其他项目中加载 DLL?

unit-testing - 使用 NUnit 进行 MEF 和单元测试

c# - 通过 .NET 源中的公式将数据提取到 Excel 电子表格中的适当技术是什么?

c# - 使用 Objective Sharpie 绑定(bind) CocoaPods 库

winforms - 确定给定矩形高度的最大字体(WinForms)

.NET 组件模型说明