オブジェクト型をチェックする
■該当するオブジェクトだけ処理をする
Private Sub kazMenuCheck(objmen As ToolStripMenuItem) For Each objitm As Object In ToolStripDropDownButton.DropDownItems If TypeOf objitm Is ToolStripMenuItem Then objitm.Checked = objitm.Equals(objmen) Else End If Next End Sub上記のコードは、クリックされたMenuItemを引数で渡し、それにチェックを付け、 それ以外のアイテムはチェックを外すSUBである。 所謂、メニューでRadioButton的な動作をする為のモノであるが・・・ 今回、MenuItemに関するプロパティを改めてじっくりと眺めてみると 「CheckOnClick」なんてプロパティがあり、クリックする度にON/OFFが切り替わる・・・ これまで、コードで書いていた・・・が、今回の動作に該当するものでは無い様だ。
■どんなケースで必要なのか?
本件で該当する箇所は、上記コードの3行目にあたる、 MenuItemコレクションの中にはSeparator等、MenuItem以外のオブジェクトもあり、 コレクションから取得する際、それらも混じってしまう、そんな時、取得したオブジェクトが MenuItemか否か判断し、それに該当するオブジェクトだけを処理する為のモノです。