为什么我按下鼠标按钮时没有收到任何MouseMove事件?

yev*_*_ro 4 c# events winforms

我有一个MainPanel包含myElement.当我按下面板上的鼠标按钮并myElement在按住按钮的同时将其移动时,myElement_MouseMove不会被调用.

private void myElement_MouseMove(object sender, MouseEventArgs e)
{
    myElementStatus_lbl.Text = "I SEE YOU";
}
Run Code Online (Sandbox Code Playgroud)

当我没有按住鼠标按钮时,它可以工作.

鼠标按钮关闭时如何检测鼠标移动?

this.MainPanel.Controls.Add(this.myElement);
this.MainPanel.Location = new System.Drawing.Point(182, 84);
this.MainPanel.Name = "MainPanel";
this.MainPanel.Size = new System.Drawing.Size(604, 309);
this.MainPanel.TabIndex = 0;

// 
// myElement
// 
this.myElement.Location = new System.Drawing.Point(220, 67);
this.myElement.Name = "myElement";
this.myElement.Size = new System.Drawing.Size(200, 100);
this.myElement.TabIndex = 0;       
Run Code Online (Sandbox Code Playgroud)

Ase*_*tam 5

我认为这是因为拖动事件发生在鼠标按下期间.因此,当您按住鼠标按钮并且鼠标进入控件时,会拖动输入事件.

您可以使用其中一个拖动事件检测鼠标移动.DragEnter,DragOver,DragLeave.

编辑:DoDragDrop禁用MouseMove事件