c#做了一个系统,点击按钮弹出对话框,让鼠标在标题栏点击可任意移动对话框,对话框用panel做的怎样实现急
展开全部
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button.ToString().Equals("Left"))
panel1.Location = e.Location;
}
{
if (e.Button.ToString().Equals("Left"))
panel1.Location = e.Location;
}
追问
谢谢移动是可以,但是怎么有层叠啊
追答
那不是层叠,是闪烁,改进一下坐标的计算方式就行了,如下:
int pLeft = 0;
int pTop = 0;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
pLeft = e.X;
pTop = e.Y;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button.ToString().Equals("Left"))
{
panel1.Left = panel1.Location.X + e.X - pLeft;
panel1.Top = panel1.Location.Y + e.Y - pTop;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询