【问题标题】:Why am I not getting any MouseMove events while the mouse button is pressed?为什么按下鼠标按钮时我没有收到任何 MouseMove 事件?
【发布时间】:2013-05-23 18:31:16
【问题描述】:

我有一个MainPanel,其中包含myElement。当我按下面板上的鼠标按钮并将其移到myElement 上同时仍然按住按钮时,myElement_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;       

【问题讨论】:

    标签: c# winforms events


    【解决方案1】:

    我认为这是因为拖动事件发生在鼠标按下期间。所以当你按住鼠标按钮并且鼠标进入一个控件时,drag enter 事件就会发生。

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

    编辑:DoDragDrop disables MouseMove Events

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      相关资源
      最近更新 更多