2

アプリケーションが動作するときにマウスを非表示にするメカニズムがあります。

しかし、メインウィンドウフォームのコンテキストメニューを追加しました。したがって、マウスがコンテキストメニューの下にある場合、マウスは常に非表示になります。

マウスがコンテキストメニューの上にあるかどうかを検出するにはどうすればよいですか?

手がかりをありがとう!

PS

このコードは、アプリが動作するときにマウスを非表示にします

  void CursorTimer_Tick(object sender, EventArgs e)
        {
            TimeSpan delta = DateTime.Now.Subtract(this.CursorLastMoveTime);
            if (delta.TotalSeconds > 3)
            {
                CursorTimer.Stop();
                Mouse.OverrideCursor = System.Windows.Input.Cursors.None;
            }
        }
4

2 に答える 2

3

考えてみてください。ただし、タイマーを停止して、コンテキストメニューが開いているときにマウスを表示してみませんか。次に、タイマーを開始し、コンテキストメニューが閉じたらマウスを非表示にします

于 2012-05-24T19:59:31.920 に答える
2

ContextMenuコントロールにはプロパティがあります(他のIsMouseOverすべてのUIコントロールと同様)。これを使用して、マウスがメニュー上にあることを検出できます。

于 2012-05-24T20:03:09.997 に答える