0

シンプルなクリップボード マネージャー アプリケーションを作成しています。クリップボードの内容を監視します。(win api メッセージ ループを介して) 変更が発生すると、クリップボードの現在のコンテンツをキャプチャするメソッドが起動され、clipboarditem という新しいオブジェクトが作成されます。次に、以前に作成したいくつかのクリップボード項目で構成される ContextMeuStrip を構築します。項目メニューはホットキーでアクセスできます。このメニューを画面の特定の位置に表示します itemsMenu.Show(caretPosition); .Focus() を使用して、フォーカスを失った後に非表示にしたい (たとえば、画面上の他の場所をクリックするか、アプリケーションを切り替えるalt タブ)。イベント OnLoseFocus が見つかりましたが、メニューが表示されないため、正しく機能しているとは思いません。

フォーカスを失った後に ContextMenuStrip を非表示にする方法と、 taskabr で ContextMenuStrip を表示しないようにする方法は?

私の語学力でごめんなさい:)

4

1 に答える 1

0

ContextMenuStrip に含まれるイベントをざっと見てみると、「MouseCaptureChanged」イベントは試しましたか? 焦点を失う問題に役立つ場合があります。

タスクバーの問題で表示するには、ContextMenuStrip があるフォームで "ShowInTaskbar" を false に設定しましたか (フォームにある場合)。

于 2009-07-20T09:28:19.600 に答える