C# 컨트롤을 마우스로 드래그로 이동할때
C#/Tip :
2009. 8. 8. 19:31
private Point start_p; // 클릭시 마우스 위치 private Point end_p; // 마우스 이동할때 위치 private bool mouse_move = false; // 마우스가 드레그 상태인지 확인 private void button2_MouseMove(object sender, MouseEventArgs e) // 마우스 이동시 { Point th; // 마우스의 현재위치를 계산하기 위한 폼의 위치 if (mouse_move == true) { th = this.Location; end_p = ((Control)sender).PointToScreen(new Point(e.X, e.Y)); Point tmp = new Point((button2.Location.X + (end_p.X - start_p.X)), (button2.Location.Y + (end_p.Y - start_p.Y))); start_p = ((Control)sender).PointToScreen(new Point(e.X, e.Y)); button2.Location = tmp; } } private void button2_MouseDown(object sender, MouseEventArgs e) // 마우스로 컨트롤 클릭시 { mouse_move = true; start_p = ((Control)sender).PointToScreen(new Point(e.X, e.Y)); } private void button2_MouseUp(object sender, MouseEventArgs e) // 컨트롤에서 마우스 놓았을 때 { mouse_move = false; }
'C# > Tip' 카테고리의 다른 글
C# 파일 쓰기, 복사, 삭제, 이동 (0) | 2009.08.31 |
---|---|
C# 자식창에서 부모창으로 값넘기기 (0) | 2009.08.12 |
C# richbox에서 버튼누를때 글자색 변경하도록 하는 방법 (0) | 2009.08.08 |
C# Access 데이터베이스, 테이블, 칼럼 생성 방법 (0) | 2009.08.07 |
C# Listview 에서 칼럼헤드 클릭시 정렬 되게 하는.. (0) | 2009.08.07 |