ここで検索しましたが、探しているものが正確に見つかりませんでした。
私は ContextMenuStrip を使用しています。この中に、チェックされている/チェックされていない項目であるメニュー項目が 1 つあります。構造は次のとおりです。
トップ レベル: 設定 ミドル レベル: 処理中 ボトム レベル: 手動処理
ボトム レベルのアイテムにアクセスして、チェックをオンまたはオフに設定する方法が見つかりません。
誰でも助けてもらえますか?
ここで検索しましたが、探しているものが正確に見つかりませんでした。
私は ContextMenuStrip を使用しています。この中に、チェックされている/チェックされていない項目であるメニュー項目が 1 つあります。構造は次のとおりです。
トップ レベル: 設定 ミドル レベル: 処理中 ボトム レベル: 手動処理
ボトム レベルのアイテムにアクセスして、チェックをオンまたはオフに設定する方法が見つかりません。
誰でも助けてもらえますか?
質問に従っているかどうかわかりません。「最下層アイテム」の名前を知っていますか?その場合は、名前で参照してください:
bottomLevelMenuItem.Checked = true;
名前がわからない場合は、Items
またはDropDownItems
(MenuItem の種類に応じて) コントロール コレクションをループして、目的のコレクションを見つけることができます。
foreach (ToolStripMenuItem stripItemCollection in MenuStrip.Items)
{
...
}
編集:
正解です。ToolStripItemには、checked プロパティがありません。これは多くのツール ストリップ オブジェクトの基本クラスであり、その一部はチェックをサポートしていません。この場合、チェックされたプロパティを持つToolStripMenuItemを扱っている可能性があります。
これを試して:
ToolStripMenuItem menuItem = this.cmuSystemTray.Items["TLSETTINGS"] as ToolStripMenuItem;
if (menuItem != null)
{
menuItem.Checked = true;
}
ただし、各Control
( ) には関連付けられた名前があるため、コンテキスト メニュー ストリップToolStripMenuItem
のプロパティを使用するよりも、元の変数を使用する方が簡単です。Items
TLSETTINGS.Checked = true; // Assuming TLSETTINGS is the name