• ベストアンサー

C#でタスクトレイに出だすContextMenuのtextの変更

C#でタスクトレイに出だすContextMenuのメニューtextの変更 (プログラム上で)をしたいのですが、 menuItem1.Text="A"; などで割り当てれば出来るのですが 変数にして他の所から値を引っ張ってきて入れようと思うと入りません。 値はMessageBoxなどで表示させて 中身が入っているかどうかは、確認済みです。 イベントはContextMenuのPoupupの所に書いています どこか他に書いた方がいいのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

当方で試して見た所特に問題ありませんでした。 直接文字列を設定しても、 変数で設定しても同じです。 1つ訊きたいのですが、タスクトレイに入れるのにはどうしていますか? notifyIconを使っていると思うのですが、 もしそうなら、 notifyIconのContextMenuにcontextMenuを設定していますか? その上で、 contextMenu_Popupで、 (Popupされた状況を調べて)メッセージを設定すればいいかと思いますが。

gotyan
質問者

お礼

有り難うございます 上記の事はしています 私のVSがおかしいのだろうか... 以前も大量のタブを使ったらいつの間にかならび方が ぐちゃぐちゃになっていたことが....... それから戻しても戻してもぐちゃぐちゃになってしまうと言うことが インストールし直して作り直してみます 有り難うございました

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

もう少し、具体的にどんな風にやっているか ソースを見せてもらえますか?

gotyan
質問者

お礼

有り難うございます。 先ほどいじっていたところ どうも menuItem1自身には値は入っている様です。 ただタスクトレイからメニューを出したときに画面に反映されていないようです。 タスクトレイ(ContextMenu)をリフレッシュして再描画させる物はないのでしょうか? ソースとしては、簡単にした物ですが、 public class goboe { public static string a; } private void SetButton_Click(object sender, System.EventArgs e) { goboe.a = "bb"; } public void ContextMenu_Popup(object sender, System.EventArgs e) { menuItem1.Text = goboe.a; } 違うフォームでセットし他のクラスに覚えておき それを取り出しセットするかたちです。 よろしくお願いいたします。

関連するQ&A