본문 바로가기

Study/Programming

C# panel 마우스클릭 이동

private Boolean mousing;
private int startX, startY;

//pnlProductList라는 패널을 클릭할 때 위치 값 저장
        private void pnlProductList_MouseDown(object sender, MouseEventArgs e)
        {
            mousing = true;
            startX = e.X;
            startY = e.Y;
        }

//마우스 클릭이 끝났을 때
        private void pnlProductList_MouseUp(object sender, MouseEventArgs e)
        {
            mousing = false;
        }

        private void pnlProductList_MouseMove(object sender, MouseEventArgs e)
        {
            if (mousing)
            {
                int changeX = e.X - startX;
                int changeY = e.Y - startY;

                pnlProductList.Location = new System.Drawing.Point(pnlProductList.Location.X + changeX,
                    pnlProductList.Location.Y + changeY);
            }
        }