我有一个有很多很多控件的表单。我需要检测一下鼠标是向下还是向上。大多数时候,我没有老鼠的目标。
有没有一种简单快捷的方法来判断鼠标是否在没有mouseeventargs的情况下向下移动?
有别的办法吗?还是只有这样?:

foreach (Control c in this.Controls)
{
    c.MouseUp += new MouseEventHandler(globalMouseUp);
    c.MouseDown += new MouseEventHandler(globalMouseDown);
}


bool isMouseUp = true;


private void globalMouseDown(object sender, MouseEventArgs e)
{
    isMouseUp = false;
}

private void globalMouseUp(object sender, MouseEventArgs e)
{
    isMouseUp = true;
}

最佳答案

你可以尝试用计时器检查:

private void timer1_Tick(object sender, EventArgs e) {
  this.Text = "Mouse Is " + (Control.MouseButtons == MouseButtons.Left);
}

08-28 12:24