2012-03-06 6 views
2

私はWindows画面(XP)のボトム右にNotifyIconを主に実行するプログラムを持っています。アイコンを右クリックしたときに表示されるContextMenuStripを開くと、タスクバーにもボックスが表示されます。メニュー内にネストされたメニュー(1つの項目の上にマウスを置くと、別のメニューが表示されます)が表示され、それぞれの追加メニューでも表示されるとタスクバーボックスが作成されます。したがって、3回目または4回目のネストされたメニューに入ると、タスクバーに3〜4のウィンドウが表示されます。メニューが消えたら、タスクバーのウィンドウも消えます。ツールバーのメニュー項目がタスクバーに表示されないようにするにはどうすればよいですか?

タスクバーがこれらのメニューを表すボックスを表示しないようにするにはどうすればよいですか?この種の振る舞いを作るために私が知っている限り、私のコードでは何もしていません。私は同様の問題を探し求めましたが、類似するものは何も見つかりませんでした。私が見る限り、これらのアイテムのための "showintaskbar"プロパティはありません。これに影響を与える他のプロパティはありません。私は、所有者がこれらのタイプの行動に影響を与えるかもしれないことを読んだので、コンテキストメンズの所有者を調査しましたが、それはコンテキストメンストリップの所有者の財産がないので役に立たないようです。

私は他に何を探しているのかわかりませんので、私はここで誰かが私にこのタイプの行動に影響を与える可能性のあるものの手がかりを与えることを期待しています。

ご協力いただきまして誠にありがとうございます。ありがとうございました!

答えて

3

ContextMenuStrip.Show()メソッドを使用している場合は、説明どおりにタスクバーに表示されます。代わりにNotifyIcon.ContextMenuStripプロパティにメニューを割り当ててください。

+0

MyNotifyIcon.MouseClickを処理するメソッドにある 'MyNotifyIcon.show()'の代わりに 'MyNotifyIcon.ContextMenuStrip = MyContextMenustrip'を使用しようとしましたが、通常はメニューにはそれ以外の場合は表示されます。私は何か違うことをすることを意味しましたか? – user1167662

+0

申し訳ありませんが、私はより具体的であったはずです。フォームコンストラクタ( 'InitializeComponent()'の後)かフォームのloadイベントの中で 'ContextMenuStrip'を割り当ててみてください。 – endofzero

+0

mouseclickイベントを使用する代わりに、loadイベントでそれを割り当てて、問題を修正しました!ありがとうございました! – user1167662

関連する問題