1

別のメニュー エントリをクリックしたときに、MenuStrip 内のメインの ToolStripMenuItem (MyMainMenu と呼ばれる) のすべてのメニュー項目のチェックを外したいと思います。メイン メニューには、いくつかのメニュー項目とセパレーターが含まれています。次のコードを試しました:

Private Sub CheckCheckedStatusMenu(ByVal MnuItem As ToolStripMenuItem)
  MnuItem.Checked = True

  For Each Mnu As ToolStripMenuItem In Me.MyMainMenu.DropDownItems
    If Not Mnu Is MnuItem Then
      Mnu.Checked = False
    End If
  Next
End Sub

すべてのメニュー項目からそのコードを呼び出します (セパレーターを除く)。メニュー項目をクリックすると、ToolStripSeparator から ToolStripMenuItem にキャストできないというメッセージが表示されてプログラムがクラッシュします。同様の目的で同じコードが Microsoft .NET ドキュメンテーション サイトにありますが、同じメニュー項目に異なる種類の項目 (区切り記号、テキスト ボックスなど) が含まれている場合に何ができるかは指定されていません。

どうすればこの問題を解決できるか知っていますか?

ありがとう、

さよなら

4

1 に答える 1