0

ここで検索しましたが、探しているものが正確に見つかりませんでした。

私は ContextMenuStrip を使用しています。この中に、チェックされている/チェックされていない項目であるメニュー項目が 1 つあります。構造は次のとおりです。

トップ レベル: 設定 ミドル レベル: 処理中 ボトム レベル: 手動処理

ボトム レベルのアイテムにアクセスして、チェックをオンまたはオフに設定する方法が見つかりません。

誰でも助けてもらえますか?

4

1 に答える 1

3

質問に従っているかどうかわかりません。「最下層アイテム」の名前を知っていますか?その場合は、名前で参照してください:

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
于 2009-12-16T23:25:08.990 に答える