WinForm에서 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 사이의 관계

972 단어 C#WinForm
일반:
VS 뷰 모드에서 창 객체를 디자인하면 Initialize Component 메소드는 일반적으로 다음과 같습니다.
 
private void InitializeComponent(){
    //  

    this.SuspendLayout();

    //  

    this.ResumeLayout(false);
    this.PerformLayout();
}

 
 
공식 설명:
Control.SuspendLayout
임시 마운트 컨트롤의 레이아웃 논리입니다.
 
Control.ResumeLayout
정상적인 레이아웃 논리를 복원하다.
Control.ResumeLayout(Boolean)
정상적인 레이아웃 논리를 복원하고 마운트된 레이아웃 요청을 강제로 레이아웃할 수 있습니다.
 
Control.PerformLayout
강제 컨트롤은 레이아웃 논리를 모든 하위 컨트롤에 적용합니다.
 
질문:
이왕 Control.ResumeLayout(true)은 레이아웃을 강제하는 효과를 얻을 수 있는데 왜 ResumeLayout(false)과 PerformLayout()의 조합을 대체하지 않습니까?
 
대답:
인터넷의 각종 해석과 자신의 역컴파일링 시스템에 근거하여Windows.dll 이후에 나온 비교적 믿을 만한 답안:
속성'Anchor'와 관련이 있는 것 같은데, ResumeLayout(false)은 부분자 컨트롤의'Anchor'속성을 변경하지만, ResumeLayout(true)은 변경할 수 없습니다.(*아직 이 점을 검증할 구체적인 예가 있는지 알 수 없음)

좋은 웹페이지 즐겨찾기