본문 바로가기

WinForm

(2)
TabControl - Button / Tab Move TabControl 의 각 TabPage 에 버튼이 필요할 때가 있다. 각 TabPage 에 버튼을 넣을려면 TabControl 의 OnDrawItem 메소드를 override 하여 일일이 헤더 문자열 하고 버튼을 위치 간격 다 계산해서 우리의 Graphics g 로 다 그려줘야 한다. 그리고 찾아보면 은근 소스도 쉽게 찾을 수 있다. 하지만 만약 TabPage 마다 버튼 갯수도 다르고 버튼마다 아이콘도 맘대로 넣고 헤더 문자열도 변경할 수 있고 덤으로 Drag&Drop 으로 순서까지 변경하게 해달라고 하면 약간 골치 아퍼진다. 그래서 이 소스 저 소스를 버무려봤다. 우선 쉽게 버튼에 대한 정보를 저장하고 넘길 때 사용할 아이가 필요하다. using System.Drawing; public class B..
마우스 이동에 따른 화면 이동 Form 이나 Window 을 특정 모양으로 구성할 때 보통 별도 컨트톨을 이용해서 Caption 을 표시할 것이며 해당 Caption 을 구성한 컨트롤을 이용하여 화면(Form or Window) 을 이동시켜야 한다. 순진했을때는 mouse 위치를 가지고 계산해서 하려고 했었는데 그런 번거로운 작업없이 쉽게 구현이 가능하다. WPF 에서는 Window 자체에 해당 기능의 메소드를 제공해준다.public class Window : ContentControl, IWindowService{……. // // 요약: // 마우스 왼쪽 단추를 누른 상태로 창 클라이언트 영역의 노출된 영역에서 창을 끌 수 있게 합니다. // // 예외: // System.InvalidOperationException: // 왼쪽 ..