Разница между ISupportInitialize (BeginInit/EndInit) и SuspendLayout/ResumeLayout

StackOverflow https://stackoverflow.com/questions/877904

Вопрос

Может ли кто-нибудь объяснить, в чем разница между использованием методов интерфейса ISupportInitialize (BeginInit/EndInit) и использованием SuspendLayout/ResumeLayout?

ISupportInitialize используется ТОЛЬКО во время построения/"начальной" инициализации...или его можно использовать позже, когда вы захотите добавить новые дочерние элементы управления к существующему родительскому элементу управления?

Есть какие-то особые различия?

Я очень ценю вашу помощь!

Спасибо,

Пато

Это было полезно?

Решение

Интерфейс ISupportInitialize находится в System.dll и представляет собой довольно общую концепцию в области компонентов.Между прочим, многие части System.Windows.Forms являются компонентами, а также Windows.Forms является основным пользователем материала ComponentModel.

Suspend/ResumeLayout — это чистая вещь Windows.Forms, которая действительно сообщает элементу управления, чтобы он не пытался создавать графику, пока вы, например, работаете.добавление дочерних элементов управления или изменение свойств.

Другие советы

Исправьте используемый код в VB.Net для этого, большинство декомпиляторов ошибаются.

CType(Me.pictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top