我正在尝试制作没有边框的Form,可以在释放鼠标按钮的同时按住鼠标左键并退出while循环。 但是我现在的代码并没有在发布时退出循环。
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
while (mouseDown)
{
mouseX = MousePosition.X;
mouseY = MousePosition.Y - 30;
this.SetDesktopLocation(mouseX, mouseY);
if (e.Button != MouseButtons.Left)
mouseDown = false;
}
我还试图添加一个mouseUp事件,但只要mouseDown处于活动状态就不会发生。
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = true;
}
答案 0 :(得分:3)
好的,我自己解决了。
我刚刚这样做了:
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown)
{
mouseX = MousePosition.X - 20;
mouseY = MousePosition.Y - 40;
this.SetDesktopLocation(mouseX, mouseY);
}
}
答案 1 :(得分:1)
通过在on mouse up事件中使用循环来锁定线程。您可以将MouseMove事件与公共变量一起使用来检查鼠标是否已关闭。