WinForm에서 Control.SuspendLayout, Control.ResumeLayout, PerformLayout 사이의 관계
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)은 변경할 수 없습니다.(*아직 이 점을 검증할 구체적인 예가 있는지 알 수 없음)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.