Я хочу знать, как именно событие MouseMove работает в форме окна c #.
Я делаю приложение для формы Windows и пытался создать функцию для перемещения картинки и списка меток, окружающих его событием MouseMove. Он успешно переместил все, как я ожидал, но когда я попытался переместить только метки, по какой-то причине метки продолжали двигаться, даже если мышь остановлена.
Событие MouseMove назначено для Picturebox.
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++;
}
}
Мне не нужно исправлять эту проблему, поскольку я получил то, что хотел, но я хочу знать, почему это происходит.