
質問させてください。
フォームデザイナで作成したContextMenuStripにプログラム内でアイテムを追加し(アイテム数は可変)、そのアイテムにチェックを付けたいと思っています。
しかし、Checkedプロパティが見つからず、チェックを付けることができません。
フォームデザイナでアイテムを追加するとCheckedの項目があって、それをTrueにすることでチェックが付けられるのですが……
後から追加したアイテムにチェックを付ける方法をご存知の方がいらしたら、ご教授お願いします……。
環境はVB.NET、Microsoft Visual Basic 2008 Express Edition SP1です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ContextMenuStrip.Itemsからメニューアイテムを取得しているのではないでしょうか?このプロパティの戻り値はToolStripItemなので、ToolStripMenuItemに変換しないとCheckedは使えません。
Dim clsMenu As New Windows.Forms.ContextMenuStrip()
clsMenu.Items.Add("メニュー1").Name = "Menu1"
CType(clsMenu.Items("Menu1"), Windows.Forms.ToolStripMenuItem).Checked = True
ありがとうございます、無事に動きました。
自分が試していた方法と全く違っていました……。
仰るとおり、ToolStripMenuItemに変換せずにずっと悩んでいました……。
また一つ勉強になりました。ありがとうございます。
↓のようにプログラムを書き換えたところ、無事に動作しました。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Example As String() = System.IO.File.ReadAllLines("example.txt", System.Text.Encoding.GetEncoding(932))
For Each i As String In Example
ContextMenuStrip1.Items.Add(i).Name = i & "ToolStripMenuItem"
Next
AddHandler ContextMenuStrip1.ItemClicked, AddressOf ToolStripMenuItem_ItemClick
ListView1.ContextMenuStrip = ContextMenuStrip1
End Sub
Private Sub ToolStripMenuItem_ItemClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs)
CType(ContextMenuStrip1.Items(e.ClickedItem.Text & "ToolStripMenuItem"), ToolStripMenuItem).Checked = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(住宅・住まい) 下地補強無しの石膏ボードの壁にこのアイテム取り付け使用するのは良くないですか?落下したりは避けたいで 6 2022/12/30 06:28
- Google Drive googleドライブ 共有フォルダ 表示 されない 2 2023/07/06 10:37
- 統計学 新製品が売れているかの統計解析 3 2023/04/27 21:46
- 家具・インテリア ベッドを延ばしたいです 3 2022/09/18 12:32
- Visual Basic(VBA) VBAでシートの保護をかける際に「書式設定の変更」を有効にする 1 2023/04/17 18:18
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Outlook(アウトルック) メールが届かない 2 2022/05/26 07:50
- ラジコン・ミニ四駆 ラジコンでマリオカートみたいなこと 3 2023/02/02 12:58
- Outlook(アウトルック) 特定のメールだけが届かない 3 2022/05/26 08:36
- Excel(エクセル) EXCELピボットテーブル(複数アイテム) 1 2023/04/27 12:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
VBAでユーザーフォームを再表示...
-
ExcelVBAのユーザーフォームの...
-
エクセルのフォームをマクロで...
-
エクセルのチェックボックスの...
-
パソコンの画面に合わせてユー...
-
既定のビューを分割フォームに...
-
VBAのテキストフォームの折り返...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
クリックした場所にFormを開く
-
ユーザーフォーム上に現在日時...
-
二つのフォームを一緒に移動
-
タスクトレイアイコンからのメ...
-
モードレスでユーザーフォーム...
-
ユーザーフォームのラベルに時...
-
MSGBOXのフォント大きさ変更
-
(Excel+VBA)ユーザーフォームの...
-
【Excel VBA】ユーザフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
Microsoft Formsの「個人情報や...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
ユーザーフォーム上に現在日時...
-
ACCESSのフォーム、開くんです...
-
エクセルのチェックボックスの...
-
エクセルVBAのフォームを最...
-
VB.NETでフォームロード中のエ...
-
EXCEL VBA ユーザーフォームの...
-
【Excel VBA】ユーザフォームを...
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
(Excel+VBA)ユーザーフォームの...
-
モーダルフォームとモードレス...
-
VBA コンボボックスとテキスト...
-
アクセス2013 フォームが...
おすすめ情報