获取鼠标状态,而无需访问 MouseEventArgs

本文关键字:访问 MouseEventArgs 鼠标 状态 获取 | 更新日期: 2023-09-27 18:35:42

我有一个包含许多控件的表单。我需要检测鼠标是按下还是打开。大多数时候,我没有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;
}

获取鼠标状态,而无需访问 MouseEventArgs

您可以尝试使用计时器进行检查:

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

ChecK Control.MouseButton 静态属性:

if (Control.MouseButtons == MouseButtons.Left)
{
}