即使鼠标静止不动,MouseMove事件仍会触发

时间:2019-05-28 13:57:37

标签: c# winforms mousemove

我想知道MouseMove事件在c#Windows窗体中的工作原理。

我正在制作Windows窗体应用程序,试图通过MouseMove事件使该功能移动图片框和围绕它的标签列表。它成功地移动了所有内容,但是当我尝试仅移动标签时,由于某些原因,即使停下了鼠标,标签也保持移动。

将MouseMove事件分配给图片框。

private void pictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            PictureBox pbx = sender as PictureBox;
            if (down)
            {

//labels keeps moving without these two lines of codes below.
//They are the codes that moves PictureBox
                pbx.Left = e.X + pbx.Left - MouseLock.X;
                pbx.Top = e.Y + pbx.Top - MouseLock.Y;

                foreach(Label lbl in DisplayLabels)
                {
                    lbl.Left = e.X + lbl.Left - MouseLock.X;
                    lbl.Top = e.Y + lbl.Top - MouseLock.Y;
                }

                frm.label1.Text = e.X.ToString();
                frm.label2.Text = DisplayLabels[0].Left.ToString();
                frm.label3.Text = MouseLock.X.ToString();
                frm.label4.Text = sand.ToString();
                sand++;
            }
        }

自从我得到了想要的东西之后,我不需要解决此问题,但是我想知道它为什么会发生。

0 个答案:

没有答案