2009-05-18 3 views
10

다른 사람이 ISupportInitialize 인터페이스 메서드 (BeginInit/EndInit)를 사용하고 SuspendLayout/ResumeLayout을 사용하는 것의 차이점을 설명해 주시겠습니까?ISupportInitialize (BeginInit/EndInit)와 SuspendLayout/ResumeLayout의 차이점

ISupportInitialize는 건설/"초기"초기화 중에 만 사용됩니까? 아니면 나중에 새 부모 컨트롤에 새 자식 컨트롤을 추가 할 때 사용할 수 있습니까?

차이가 있습니까?

대단히 감사합니다.

파투

+0

--------------- 오늘 디자이너 코드에서 변환하여 동적 컨트롤 생성을 구현하려고합니다. 어느 것이 우선합니까? BeginInit() 또는 SuspendLayout()? ---------------------- ((ISupportInitialize) Process_GroupControl) .BeginInit(); Process_GroupControl.SuspendLayout(); – CallMeLaNN

답변

4

System.dll을에 살고 구성 요소의 영역에서 단지 매우 일반적인 개념 ISupportInitialize 인터페이스를 주셔서 감사합니다. 덧붙여서 System.Windows.Forms의 많은 부분이 Component이고 Windows.Forms는 ComponentModel의 주요 사용자입니다.

Suspend/ResumeLayout은 순수한 Windows.Forms이며 실제로 사용자가있는 동안 그래픽을 시도하지 않도록 컨트롤을 말합니다. 하위 컨트롤을 추가하거나 속성을 변경합니다.

-1

VB.Net에서 사용 된 코드를 수정하십시오. 대부분의 디 컴파일러는이를 잘못 처리합니다.

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