ContextMenuStripに項目をコードから追加したい場合
以下のように書けばどんどん追加することが出来ると思います。
ContextMenuStrip1.Items.Add("第1層その1");
ContextMenuStrip1.Items.Add("第1層その2");
ContextMenuStrip1.Items.Add("第1層その3");
次に、その追加した項目にさらに項目を追加したいと思いました。
ContextMenuStrip1.Items[数字]で追加した項目にアクセス出来ることは分かったのですが
ContextMenuStrip1.Items[0].Add("第2層その1")のように書くことが出来ないので
そこからどうすればよいか、途方にくれてます。
イメージとしては画像のように第二層に動的にitemを追加したいんです。
どなたかご存知のかた、ぜひご教授ください。
わかりにくい箇所は追記させていただきます。
No.1ベストアンサー
- 回答日時:
var tsmiLevel1 = new ToolStripMenuItem("1階層");
var tsl = new ToolStripLabel("2階層ラベル");
var tst = new ToolStripTextBox("2階層テキスト");
var tsmiLevel2 = new ToolStripMenuItem("2階層ボタン");
tsmiLevel1.DropDownItems.Add(tsl);
tsmiLevel1.DropDownItems.Add(tst);
tsmiLevel1.DropDownItems.Add(tsmiLevel2);
contextMenuStrip1.Items.Add(tsmiLevel1);
contextMenuStrip1.Items[0]で取得できるものはToolStripItemクラスであり、階層を作ろうとしたら、それをToolStripMenuItemクラスにキャストする必要があります。
当然、それがキャストできるものかどうかということも関わってきます。
var hoge = contextMenuStrip1.Items[0] as ToolStripMenuItem;
よって、作成タイミング以外の場面で、上階層から遡らないとメニューが特定できないような操作を必要としない限り、下階層から作っていった方がいいですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/21 16:01
- その他(ビジネス・キャリア) 請負契約書の約款について 新しく項目を追加をしたいです。 追加をする基準みたいのはある方教えて下さい 1 2022/05/12 09:46
- iPhone(アイフォーン) iphoneでネット画像を保存できなくなった 3 2022/06/05 15:58
- プリンタ・スキャナー 印刷画面 1 2022/04/26 14:52
- Access(アクセス) ACCESS VBA XSQLについて 2 2022/03/30 16:04
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
コンテキストメニュークリック時のイベントハンドラ
C言語・C++・C#
-
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
-
4
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
5
NumericUpDownの数値を選択済みにする方法
Visual Basic(VBA)
-
6
CloseとDisposeの違い
Visual Basic(VBA)
-
7
ボタンクリックイベント 重複防止について
C言語・C++・C#
-
8
マウスの右クリックでコンテキストメニューを表示/非表示させたい。
Visual Basic(VBA)
-
9
C# マルチディスプレイにて、フォームの初期位置をCenterScre
その他(プログラミング・Web制作)
-
10
C#でbyte配列から画像を表示させたい
C言語・C++・C#
-
11
大量のデータを読み込んで表示する速度を改善したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで決まった「時刻」...
-
google apps scriptの終了のさせ方
-
javascriptでiframeのURL変更は?
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
VSCODE[Python]の設定について
-
1日1回だけ引けるjavascriptお...
-
jqGridについて
-
イラストレーターでドキュメン...
-
シンプルなweb版スタンプラリー...
-
C# 演算 分岐処理 繰り返し処理
-
ページの先頭へスクロールして...
-
ジェネレーターの作り方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
C# 演算 奇数と偶数 表現の仕方
-
【javascript】正規表現で括弧...
-
なぜmatchメソッドがエラーにな...
-
Javascriptで、以下の様な足し...
-
カンマで終わってるのはセミコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
HTMLで作った時報アプリが動き...
-
javascriptでテーブルに追加し...
-
html javascript リンク先アド...
-
【西暦等の変換】
-
ローカルにあるファイルを検索...
-
ASP.NETのコントロールの値をJa...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
カンマで終わってるのはセミコ...
-
JavaScriptで文字列の特定文字...
-
javascriptでiframeのURL変更は?
-
APIを使って埋め込んだグーグル...
おすすめ情報