본문으로 바로가기

C#에서 Docking Control 사용하기

category 개발언어/C# 2017. 5. 18. 14:05

C#에서 도킹컨트롤 기능 사용하기
(A
dd docking and floating support easely and quickly with DockExtender)

MFC사용자라면  도킹컨트롤(Docking Control)에서 대해서 익숙 할 것이다.
사용자 정의 컨트롤, 혹은 폼 또는 컨트롤러를 동적으로 도킹 시키고 관리할 수가 있다.

MFC(C++)사용자라면 윈도우의 상속개념이나 핸들 개념이 적립되어 있으므로 현재컨트롤의 부모 윈도우를 변경함으로 써 위도우를 가진 객체를 임의의 위치또는 컨트롤에 속한 자식 객체로 조작이 가능하다는 사실을 알고 잘 사용하고 있다.

그러나  VB의 경우에는 이런개념이 무척이나 취약해서 구현이 불가능하다고 봐야한다.
필자의 VB사용자라면 절대로 발견할 수 없는 API를 사용하여 내가 만든 Form을 MDI Form에 있는 Picture Box의 윈도우를 내가 만든 Form의 부모윈도우로 만든다음( SetParent 함수사용)윈도우 위치를 조정하도록 하여 Docking의 형태를 흉내 내었던 적이 있다.MDI Form의 Picture box에 강제로 부모윈도우를 매핑해서 사용했던 기억이 있다.

C#에서도 도킹기능을 제공하지만 용어도 다르고 사용이 번거로와서 구글링해서 소스를 찾았다.
실제 동작도 무난하다.  이소스를 기반으로 많이 활용하는 방안을 생각해야 겠다.

DockExtender_src.zip

#도킹컨트롤 사용하기,#동적도킹,#가변도킹,#붙이기