110,571
社区成员
发帖
与我相关
我的任务
分享
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
panel1.MouseMove += new MouseEventHandler(panel1_MouseMove);
panel1.Cursor = Cursors.Hand;
}
void panel1_MouseMove(object sender, MouseEventArgs e)
{
//这里改变你panel的位置
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
panel1.MouseMove -= new MouseEventHandler(panel1_MouseMove);
panel1.Cursor = Cursors.Default;
}
做一个全局
private int x = 0;
private int y = 0;
然后你应该在鼠标MouseDown里写
this.Cursor = Cursors.Hand
x = e.X;
y = e.Y;
然后在MouseMove里写
if(this.Cursor == Cursors.Hand )
{
//变换坐标
int distanceX = e.X - x;
int distanceY = e.Y - y;
panel.location = new Point(panel.Location.X + distanceX , panel.Location.Y + distanceY );
x = e.X;
y = e.Y;
}