윈도우를 이동시키기 위해서는 맨위에 타이틀 부분은 드래그 해야 하지만 폼을 드래그해 이동시킬 수 있습니다. 이를 구현하는 방법은 두게의 이벤트가 필요 합니다.
선행 조건으로 마우스 위치를 기억할 포인터를 선언 합니다.
1 | private Point mousePoint |
그리고 MouseDown 이벤트를 등록해야 합니다.
1 2 3 4 | private void Form_MouseDown( object sender, MouseEventArgs e) { mousePoint = new Point(e.X, e.Y); } |
MouseDown이벤트 다음 MouseMove이벤트를 등록 합니다.
1 2 3 4 5 6 7 8 | private void Form_MouseMove( object sender, MouseEventArgs e) { if ((e.Button & MouseButtons.Left) == MouseButtons.Left) { Location = new Point( this .Left - (mousePoint.X - e.X), this .Top - (mousePoint.Y - e.Y)); } } |
그리고 컴파일해서 폼을 클릭해 드래그 해보면 폼이 움직이는걸 확인하실 수 있습니다.
원리는 MouseDown이벤트로 현제 마우스에 위치를 가져오고 MouseMove이벤트에서 창위치에서 마우스가 움직인 만큼의 거리를 계산하게 됩니다. 그럼 그만큼 창이 이동하게 됩니다.
'C#' 카테고리의 다른 글
[C#] Microsoft.Office.Interop.Excel Alignment(정렬) (0) | 2012.11.10 |
---|---|
[C#]Excel workbook.Saveas 덮어쓰기 메세지 없애기 (1) | 2012.11.07 |
[C#] :: (펌)외부 응용프로그램 실행하기 (Process.Start 메서드) - CMD Application/C# (0) | 2012.10.10 |
[C#] 코드로 Dos 명령 실행하기! (0) | 2012.10.10 |
[C#] 윈폼으로 콘솔명령 실행하기 (0) | 2012.10.10 |