
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も見ています
-
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
C#で動的にコントロールを取得するにはどのようにしたらよいのでしょうか
C言語・C++・C#
-
C# DataGridView の列ヘッダーのマウス右クリックイベントにつきまして
C言語・C++・C#
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
6
コンテキストメニュークリック時のイベントハンドラ
C言語・C++・C#
-
7
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
8
C# Controls.Addで動的に配置したコントロールのRemoveについて
C言語・C++・C#
-
9
プロセスIDからウィンドウハンドルを取得する方法
C言語・C++・C#
-
10
ピクチャーボックスの大きさに合わせて画像を表示
Visual Basic(VBA)
-
11
DataGridViewのセルに斜線を引くには?
Visual Basic(VBA)
-
12
CloseとDisposeの違い
Visual Basic(VBA)
-
13
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
14
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
15
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
16
C#でドラッグ&ドロップが機能しない。
その他(プログラミング・Web制作)
-
17
DateTimePickerでに年月までしか選択できないようにしたいです。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlでjavascriptソースを...
-
JavaScriptで日付を取得したいです
-
C#OpenCv V4にのエラーに関する...
-
Flashを使わず動きのあるかっこ...
-
ページの先頭へスクロールして...
-
ページ最終行へジャンプする方法
-
IE11だけ、currentTimeが効きま...
-
1.gifをホームページ上でランダ...
-
JAVASCRIPTで万年カレンダーを...
-
テーブル内のテキストを取得したい
-
あるgif画像(A.gifとします)...
-
html javascript リンク先アド...
-
JavascriptのJQuery UI Tabsで...
-
URLのパラメータを取得するスク...
-
replaceでの正規表現の記載につ...
-
AM,PMの時間表示について
-
イベントが初めの一回しか起き...
-
Google Apps Script で添付ファ...
-
var exports = exports || {}; ...
-
javascriptでのURLの引数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
google apps scriptの終了のさせ方
-
ASP.NET MVCでObjectをjsに渡す
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
ASP.NETのコントロールの値をJa...
-
なぜmatchメソッドがエラーにな...
-
javascriptでiframeのURL変更は?
-
gas スプレッドシートがアクテ...
-
翌月を取得するGASが分かりません
-
for文を使って変数に値を入れる...
-
APIを使って埋め込んだグーグル...
-
VSCODE[Python]の設定について
-
ローカルにあるファイルを検索...
-
C# 演算 奇数と偶数 表現の仕方
-
イベントが初めの一回しか起き...
-
C# 演算 分岐処理 繰り返し処理
-
setTimeoutによる繰り返しが途...
-
リンクの有無を判別して画像の...
おすすめ情報