IT/C#

[C#] WinForm UI Dock Fill 도킹 이상 문제 해결방법 두 가지 (+ Dock 순서)

Ella.J 2024. 4. 12. 15:10
728x90
반응형

 

WinForm UI를 구성할 때 Panel이나 혹은 여러 Control을 Dock 속성을 사용해 디자인한다.

Control을 Form에 넣은 순서에 따라 Dock 표시가 제대로 되지 않는 경우가 있다.

아래에 Panel과 TabControl을 예시로 보자.

 

TabControl을 먼저 넣고, Panel을 이후에 넣었다.

그리고 panel1은 Dock = Top 속성으로 지정하고,

tabControl1은 Dock = Fill로 지정했을 때,

위 오른쪽 사진처럼 tabControl1이 panel1에 가려지는 현상이 나타난다.

 

 

 

이를 해결하는 방법은 두 가지가 있다.

 

첫 번째. Designer.cs 파일에서 코드 순서를 변경하여 Control 순서를 변경하는 방법.

 

Form1.Designer.cs 파일에서

Form1에 this.Controls.Add(this.panel1)과 this.Controls.Add(this.tabControl1)의 순서를 변경하여

Control의 순서를 변경해 준다.

 

 

두 번째. 디자인 창에서 Control 우클릭 후 Bring to Front를 선택해 Control 순서를 변경하는 방법.

 

Dock = Fill 속성을 지정한 tabControl1을 우클릭하여 Bring to Front를 선택해

Control의 순서를 변경해 준다.

 

그럼 위와 같이 정상적으로 Dock 속성이 적용된다.

 

 

(참고) Dock 순서

Fill, Left, Right, Top, Down

Dock=Fill을 사용하는 컨트롤이 첫 번째 순서에 있어야 함.

 

 

728x90
반응형