develop

C# 윈폼에서 Panel(Control)을 팝업처럼 움직이게

파드파드 2024. 9. 12. 09:53
반응형

1. 디자인

팝업 타이틀. lablel1
panel1

 

 

2. 코딩

Point clickLocation= new Point();

private void lable1_MouseMove(object sender, MouseEventArgs e)
{
        if (e.Button == MouseButtons.Left) 
        {
              panel1.Left += e.X - clickLocation.X;
              panel1.Top += e.Y - clickLocation.Y;
        }
}

private void lable1_MouseDown(object sender, MouseEventArgs e)
{
        if (e.Button == MouseButtons.Left)
        {
                clickLocation = e.Location;

 

                //이기 중요. 최상위 폼에다가 넣어야지, 아래 BringToFront 속성과 함께 다른 컨트롤 위에 있을 수 있다.
                topParentControl.Controls.Add(panel1); 
                panel1.BringToFront(); //이것도 중요
        }
}

 

3.

이제 화면에서 띄워 보자. 아래는 화면 중앙.

this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2);

 

끝.

반응형