- - PR -
NotifyIconを左クリックで、コンテキストメニューを表示したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-22 15:04
Win2000Pro
.NET Framework1.1 VB.NETという環境で開発しております。 ご質問させていただきます。 作成したいプログラムは、formの最小化ボタンを押下した際に、 タクストレイに格納し(formは画面から消す)、タスクトレイのアイコンを左クリックした際にコンテキストメニューを表示させたいのです。 現状、右クリックでコンテキストメニューを表示できるようにしております。 似たような記事がこちらであったのですが、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7490&forum=7 最小化する際に、formを画面から消しているので、senderパラメータが有効にならないため エラーとなってしまいます。 どなたか良い対処方法をご存知でしたら、ご教授よろしくお願いいたします。 #ちなみに、画面からformを消す手順は Application.DoEvents() ShowInTaskbar = False Me.Hide() NotifyIcon1.Visible = True ’タクストレイのアイコン formを表示する処理は Me.ShowInTaskbar = True Me.WindowState = FormWindowState.Normal Me.Show() で、それぞれ行っております。 | ||||
|
投稿日時: 2004-11-23 10:35
諸農です。
表示したいContextMenuコントロールをNotifyIconコンポーネントの ContextMenuプロパティにセットするとうまくいかないですね。 表示したいContextMenuはフォームに配置するにとどめて、 NotifyIconのMouseDownで次のように呼び出せばOKです。
_________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-11-24 19:16
諸農様
ご指導いただきありがとうございました。 コードまで書いていただき大変恐縮です。 私の方のFormの表示・非表示のさせ方が悪かったのが大きな原因でした。 Me.Hide()で閉じてしまうと、コンテキストメニューの呼び出し元オブジェクトが無いというようなエラーとなってしまうのですね。 Formを表示させる際は Me.Opacity = 100 閉じる際は Me.Opacity = 0 というように、透過プロパティで対応するようにしたら、マウスのクリックイベント(左右のボタンともに)が処理できるようになりました。 どうもありがとうございました。 |
1