2009-07-19 20 views
0

私は単純なクリップボードマネージャアプリケーションを作成しています。クリップボードの内容を監視します。変更が発生すると(勝利APIメッセージループを介して)、クリップボードの現在の内容をキャプチャするメソッドを起動し、clipboarditemという新しいオブジェクトを作成します。次に、以前に作成されたいくつかのクリップボード項目を処理するContextMeuStripを構築します。項目メニューにはホットキーでアクセスします。これは、画面の特定の位置にこのメニューを表示しますMenu.Show(caretPosition); .Focus()を使用すると、フォーカスを失った後に消えてしまいます(たとえば、画面上で何か他をクリックする、 alt-tab)。イベントOnLoseFocusを見つけましたが、メニューが表示されなくても正常に動作しているとは思いません。フォームの外にContextMenuStripを表示/非表示

フォーカスを失った後にContextMenuStripを表示させないようにする方法と、taskabrにContextMenuStripが表示されないようにする方法を教えてください。

私の語学力のために申し訳ありません:)

答えて

0

いるContextMenuStripが含まれているイベントで非常に簡単に見てからは、あなたが「MouseCaptureChanged」イベントを試してみましたか?それはかもしれないは、フォーカスの問題を失うのに役立ちます。

タスクバーの問題を表示するために、ContextMenuStripを持っているフォーム(フォーム上にある場合)に "ShowInTaskbar"をfalseに設定しましたか?