※ ChatGPTを利用し、要約された質問です(原文:C♯ 画面の排他制御法?)
C#画面の排他制御法についての質問
このQ&Aのポイント
C#で画面の排他制御についての質問です。NortifyIconとcontextMenuStripを組み合わせた画面選択制御について、問題が発生しています。
具体的には、NortifyIconからcontextMenuStripを表示し、サブフォームの選択を可能にしていますが、contextMenuStrip外の場所をクリックすると、contextMenuStripが消えてしまいます。
この問題に対処するために、どのような方法があるでしょうか?皆さんの経験や知見を教えていただきたいです。
C♯ NortifyIconとcontextMenuStripによる画面排他制御に関する質問です
メインのフォームForm1にNortifyIconを貼り付け、そこにcontextMenuStripを繋ぎました
contextMenuStripでは10ケのサブフォームForm10~19を選択し表示します
Form10~19は互いに排他関係にありますので、Form10~19が選択された時にNortifyIconからcontextMenuStripを切り離します
これでForm10~19が同時に表示されることはありません
Form10~19が終了する時に再びNortifyIconとcontextMenuStripを結び付け、NortifyIconのクリックでcontextMenuStripを表示しForm10~19の選択を可能ならしめています
ところがNortifyIconをクリックしcontextMenuStripが表示された段階で全く別な所(contextMenuStrip以外のデスクトップなど)をクリックするととcontextMenuStripは消去されます
この状態ですとNortifyIconとcontextMenuStripは切り離されたままですので、これ以降Form10~19を選択することが出来ません
対策としてcontextMenuStripがクローズした時点でNortifyIconとcontextMenuStripを結び附けましたら、今度はForm10~19が選択された段階でcontextMenuStripが消えますので、NortifyIconをクリックするとForm10~19が選択可能になってしまいます ⇒ Form10~19の排他関係が守れません
NortifyIconとcontextMenuStripを組み合わせた画面選択制御は極く一般的なものでしょうが、皆さまはどのようにしているか教えて頂きたいと存じます
追伸】
contextMenuStripがクローズする原因が
(1)contextMenuStrip内の項目の選択
(2)それ以外の原因
と判別出来る情報がありますか?
これが分かれば対処法は簡単なのですが ・・・・・・
お礼
ありがとうございました ご指導頂いた方法で問題を解決出来ました 今後とも宜しくお願い申し上げます 【追伸】お教え頂いた事項に関連して、先ほど更に質問をさせて頂きました http://questionbox.jp.msn.com/qa7295499.html たびたびのことで誠に恐縮ですが、こちらも宜しくご指導頂ければ幸いです