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

时间:2013-05-23 18:31:17

标签: c# winforms events

我有MainPanel,其中包含myElement。当我按下面板上的鼠标按钮并在按住按钮的同时将其移动到myElementmyElement_MouseMove不会被调用。

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

当我没有按住鼠标按钮时,它会起作用。

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

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;       

1 个答案:

答案 0 :(得分:5)

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

您可以使用其中一个拖动事件检测鼠标移动。 DragEnterDragOverDragLeave

修改:DoDragDrop disables MouseMove Events