おまけ。
Public Module ComboItemCodeTextHelper ' 指定したComboBoxに入っているComboItemCodeText型オブジェクトから指定したCodeを検索して見つかった最初のインデックスを返す ' 見つからなかったら-1を返す Public Function FindComboItem(ByVal aComboBox As ComboBox, _ ByVal aCode As Integer) As Integer For i As Integer = 0 To aComboBox.Items.Count - 1 If TypeOf aComboBox.Items(i) Is ComboItemCodeText Then If (Not DirectCast(aComboBox.Items(i), ComboItemCodeText).IsTopItem) AndAlso _ (aCode = DirectCast(aComboBox.Items(i), ComboItemCodeText).Code) Then Return i End If End If Next Return -1 End Function ' 指定したComboBoxに入っているComboItemCodeText型オブジェクトから指定した特殊最上段アイテムを検索して見つかった最初のインデックスを返す ' 見つからなかったら-1を返す Public Function FindComboItem(ByVal aComboBox As ComboBox, _ ByVal aTopItem As emTopItemKind) As Integer For i As Integer = 0 To aComboBox.Items.Count - 1 If TypeOf aComboBox.Items(i) Is ComboItemCodeText Then If DirectCast(aComboBox.Items(i), ComboItemCodeText).IsTopItem AndAlso _ (aTopItem = DirectCast(aComboBox.Items(i), ComboItemCodeText).TopItem) Then Return i End If End If Next Return -1 End Function ' 指定したコンボボックスからaCodeを検索し、見つかったら選択状態にする Public Function SelectComboItem(ByVal aComboBox As ComboBox, _ ByVal aCode As Integer, _ Optional ByVal aSelectAtNoExists As Boolean = False, _ Optional ByVal aNoExistsItemIndex As Integer = -1) As Boolean Dim iIndex As Integer = FindComboItem(aComboBox, aCode) If iIndex >= 0 Then aComboBox.SelectedIndex = iIndex Return True Else If aSelectAtNoExists Then aComboBox.SelectedIndex = aNoExistsItemIndex End If Return False End If End Function ' 指定したコンボボックスからaTopItemを検索し、見つかったら選択状態にする Public Function SelectComboItem(ByVal aComboBox As ComboBox, _ ByVal aTopItem As emTopItemKind, _ Optional ByVal aSelectAtNoExists As Boolean = False, _ Optional ByVal aNoExistsItemIndex As Integer = -1) As Boolean Dim iIndex As Integer = FindComboItem(aComboBox, aTopItem) If iIndex >= 0 Then aComboBox.SelectedIndex = iIndex Return True Else If aSelectAtNoExists Then aComboBox.SelectedIndex = aNoExistsItemIndex End If Return False End If End Function ' コンボボックスの最上段アイテムを選択状態にする Public Function ResetCombobox(ByVal aCombobox As ComboBox) As Boolean If aCombobox.Items.Count > 0 Then aCombobox.SelectedIndex = 0 End If Return True End Function End Module