別のメニュー エントリをクリックしたときに、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 ドキュメンテーション サイトにありますが、同じメニュー項目に異なる種類の項目 (区切り記号、テキスト ボックスなど) が含まれている場合に何ができるかは指定されていません。
どうすればこの問題を解決できるか知っていますか?
ありがとう、
さよなら