ComboBox.Items.IndexOf始终返回-1

时间:2013-08-26 19:06:37

标签: .net winforms combobox

我在运行时创建了一个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

1 个答案:

答案 0 :(得分:1)

我猜你试图选择一个尚不存在的项目。

尝试:

  • 在设置combobox
  • 之前将selectedIndex添加到表单 在设置combox.CreateControl()之前,
  • 强制使用selectedIndex方法初始化控件。

此主题与类似问题有关:ComboBox items.count doesnt match datasource (C#)