我在运行时创建了一个ComboBox
,并将DataSource
设置为Generic列表。当我致电combobBox.Items.IndexOf
设置SelectedIndex
属性时,它始终返回-1
。该值包含在DataSource
中,因此它应该能够找到索引。
这是我使用的代码示例。
Private Function InitDomainCombo(ByVal value as object, ByVal domainList As List(Of DomainNameValue)) As ComboBox
Dim cb As ComboBox
cb = New ComboBox
cb.DropDownStyle = ComboBoxStyle.DropDownList
cb.DataSource = domainList
cb.DisplayMember = "Name"
cb.SelectedIndex = cb.Items.IndexOf(CType(value, DomainNameValue))
Return cb
End Function
答案 0 :(得分:1)
我猜你试图选择一个尚不存在的项目。
尝试:
combobox
。selectedIndex
添加到表单
在设置combox.CreateControl()
之前,selectedIndex
方法初始化控件。此主题与类似问题有关:ComboBox items.count doesnt match datasource (C#)