전체 소스파일입니다
폼을 두개 생성합니다
Form1 - 메인폼이죠 기본생성되는 폼
MoveForm - 폼을 움직일때 테두리를 표시해 주기 위한 폼
MoveForm 에 패널을 하나 넣고
<<MoveForm 설정하기>>
this.BackColor = System.Drawing.Color.DarkSlateGray; // MoveForm 배경을 빨강이 아닌 아무색이나 변경. 테두리로 보일 색입니다
this.panel1.BackColor = System.Drawing.Color.Red; // panel1 배경을 빨강으로 설정합니다
this.panel1.Location = new System.Drawing.Point(6, 6); // Location을 6,6으로 설정합니다
this.panel1.Size = new System.Drawing.Size(848, 452); // MoveForm 크기보다 12,12 작게 설정합니다
this.TransparencyKey = System.Drawing.Color.Red; //MoveForm 투명색깔을 빨강으로 설정합니다
// panel1 의 Anchor를 Top,Bottom,Left,Right 모두다 설정해 줍니다
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
<<Form1 설정하기>>
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; // FormBorderStyle을 None로 설정
<<Form1 코드 넣기>>
MoveForm moveForm = new MoveForm();
int GapX, GapY;
public Form1()
{
InitializeComponent();
}
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
// 마우스를 누르면
GapX = Cursor.Position.X - this.Location.X; // Form1 과 마우스의 위치차이를 저장
GapY = Cursor.Position.Y - this.Location.Y; // Form1 과 마우스의 위치차이를 저장
// MoveForm의 사이즈를 Form1과 동일하기 설정
moveForm.Size = new Size(this.Width, this.Height);
// MoveForm의 위치를 Form1의 위치와 동일하기
moveForm.Location = new Point(Cursor.Position.X - GapX, Cursor.Position.Y - GapY);
// MoveForm를 보입니다
moveForm.Show();
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
// 마우스를 떼면 Form1의 위치를 변경하고 MoveForm 는 보이지 않게 합니다
this.Location = new Point(moveForm.Location.X, moveForm.Location.Y);
moveForm.Hide();
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
// 마우스를 움직이면 MoveForm의 위치를 움직여서 Form1이 옮겨질 위치를 알수있게 합니다
moveForm.Location = new Point(Cursor.Position.X - GapX, Cursor.Position.Y - GapY);
}
'C# Programming' 카테고리의 다른 글
C# DataColumn.Expression (0) | 2018.12.18 |
---|---|
c# SortableBindingList<T> (0) | 2018.12.17 |
C# DataGridView 열 추가된후 열 선택되어있는거 해제하기 (0) | 2018.10.25 |
C# 텔레그렘 봇 (0) | 2018.07.13 |
C# Mutex 를 이용한 프로그램 중복 실행 방지 (0) | 2018.07.06 |