
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
C# DataGridView の列ヘッダーのマウス右クリックイベントにつきまして
C言語・C++・C#
-
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
-
4
C#で動的にコントロールを取得するにはどのようにしたらよいのでしょうか
C言語・C++・C#
-
5
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
6
コンテキストメニュークリック時のイベントハンドラ
C言語・C++・C#
-
7
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
8
ContextMenuStripに追加したアイテムのチェックについて
Visual Basic(VBA)
-
9
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
10
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
11
C# Controls.Addで動的に配置したコントロールのRemoveについて
C言語・C++・C#
-
12
C# DataGridViewで複数選択したセルに同じ値を一括で入力するには
C言語・C++・C#
-
13
C# DataGridView のCellPaintingイベントで独自に描画する場合につきまして
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
APIを使って埋め込んだグーグル...
-
ASP.NETのコントロールの値をJa...
-
イベントが初めの一回しか起き...
-
明日・明後日・明々後日
-
C#で、ContextMenuStripに動的...
-
GASのエラー「undefined からプ...
-
javascript 相対パス表示
-
functionから別のfunctionを実...
-
ActiveXobjectが作成できない
-
idを使わずにonclickで自身の要...
-
Linux バイナリ実行できない "...
-
ASP+アクセスでのSQLコメントに...
-
バイナリファイルから文字列を...
-
C#テキストボックスの文字を配...
-
ホームページに日付を自動更新...
-
window.openでタイトル名の指定
-
Perlの配列をJavaScriptに渡せ...
-
処理前の「お待ちください」
-
jspからjavascriptの変数引継ぎ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#で、ContextMenuStripに動的...
-
C#OpenCv V4にのエラーに関する...
-
javascriptでiframeのURL変更は?
-
ASP.NET MVCでObjectをjsに渡す
-
ASP.NETのコントロールの値をJa...
-
ローカルにあるファイルを検索...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
船のゲームを作っているのです...
-
商品コードを入力で、商品名、...
-
スクリプトのフルパス取得したい
-
HTMLにWSHを組み込む
-
Javascript 特定のフォルダのデ...
-
XMLの空白要素をJavas...
-
google feed api
-
html javascript リンク先アド...
-
JavaScriptで平日のみをカウン...
-
$("body").height();と$("body"...
-
シンプルなweb版スタンプラリー...
おすすめ情報