C# 如何让鼠标套在同一窗体上更快或更重复地发射

C# 如何让鼠标套在同一窗体上更快或更重复地发射,c#,winforms,C#,Winforms,我有128个小表单,都安排在一个更大的FlowLayoutPanel中。128个表单中的每个表单都有自己的onPaint覆盖: protected override void OnPaint(PaintEventArgs e) { foreach (CustomSquare cs in this.customSquares) { this.formGraphics.FillRectangle(cs.colorBrush, c

我有128个小表单,都安排在一个更大的FlowLayoutPanel中。128个表单中的每个表单都有自己的onPaint覆盖:

    protected override void OnPaint(PaintEventArgs e)
    {
        foreach (CustomSquare cs in this.customSquares)
        {
            this.formGraphics.FillRectangle(cs.colorBrush, cs.boundingRectangle);
        }
    }
每个表都实现了鼠标悬停:

    public void customView_MouseHover(object sender, EventArgs e)
    {
        Debug.Print("greetings from table " + this.getTableNumber());
    }
现在,当鼠标在表之间切换时,事件处理程序会重复且轻松地触发,如下所示:

greetings from table 3
greetings from table 0
greetings from table 3
greetings from table 0
greetings from table 1
greetings from table 0
greetings from table 0
greetings from table 0
但是,很难让EventHandler在同一张表上重复使用鼠标的小动作,或者说是同一张表的内部尺寸,比如:

greetings from table 3
greetings from table 0
greetings from table 3
greetings from table 0
greetings from table 1
greetings from table 0
greetings from table 0
greetings from table 0

该程序的主要功能要求我经常且一致地知道用户鼠标所在的128个表单中的哪一个,使用MouseHover事件似乎是最好的方式,但我希望它能更频繁地启动。

@Hans Passant给出了正确的答案


从MouseHover到MouseMove的变化让我对事件的反应非常快

wpf还是winforms?当然不是两者都有?用MouseMove代替MouseHover。我会查看MouseMove的,谢谢。不幸的是,我写的c代码冻结了我的整个电脑。显然需要很快恢复。请问这不是为了什么?还有一张图片有助于了解它是什么样子的我通过彩色方块表示数据,我想查询一个数组,当用户将鼠标移到表示该值的方块上时显示该值。我对MouseHover的查询不够多,但MouseMove工作得很好。