128 個の小さなフォームがすべて 1 つの大きな FlowLayoutPanel に配置されています。128 の各フォームには、独自の onPaint オーバーライドがあります。
protected override void OnPaint(PaintEventArgs e)
{
foreach (CustomSquare cs in this.customSquares)
{
this.formGraphics.FillRectangle(cs.colorBrush, cs.boundingRectangle);
}
}
また、各テーブルには MouseHover が実装されています。
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
しかし、次のように、小さなマウスの動きや、同じテーブルのディメンション内での動きを使用して、同じテーブルで EventHandler を繰り返し起動させるのは非常に困難です。
greetings from table 0
greetings from table 0
greetings from table 0
プログラムの主な機能では、ユーザーのマウスが 128 のフォームのどれにあるかを非常に頻繁かつ一貫して知る必要があり、MouseHover イベントを使用するのが最善の方法のように思えましたが、もっと頻繁に発生させたいと思います。