Vb.net 列表框中的选定索引在获取值后不会保持选定状态
我希望能够在我的列表框中选择一个索引。我的列表框将根据所选索引获取值,但是当我尝试在列表框中选择一个索引时,它将获取值,但保持未选中状态。我必须第二次选择索引才能将其选中。为什么呢 以下是我在selectedIndexChanged上的代码:Vb.net 列表框中的选定索引在获取值后不会保持选定状态,vb.net,visual-studio-2012,methods,indexing,listbox,Vb.net,Visual Studio 2012,Methods,Indexing,Listbox,我希望能够在我的列表框中选择一个索引。我的列表框将根据所选索引获取值,但是当我尝试在列表框中选择一个索引时,它将获取值,但保持未选中状态。我必须第二次选择索引才能将其选中。为什么呢 以下是我在selectedIndexChanged上的代码: Private Sub listResults_SelectedIndexChanged(sender As Object, e As EventArgs) Handles listResults.SelectedIndexChanged Upda
Private Sub listResults_SelectedIndexChanged(sender As Object, e As EventArgs) Handles listResults.SelectedIndexChanged
UpdateContactInformationFromRegistry()
End Sub
UpdateContactInformation fromRegistry方法:
Private Sub UpdateContactInformationFromRegistry()
Dim contact As Contact = m_contacts.GetContact(listResults.SelectedIndex)
cmbCountries.SelectedIndex = DirectCast(contact.AddressData.Country, Integer)
txtFirstName.Text = contact.FirstName
txtLastName.Text = contact.LastName
txtStreet.Text = contact.AddressData.Street
txtZip.Text = contact.AddressData.ZipCode
txtCity.Text = contact.AddressData.City
End Sub
更新V2
CMB.SelectedIndexChanged事件处理程序
Private Sub cmbCountries_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbCountries.SelectedIndexChanged
UpdateGUI()
End Sub
UpdateGUI方法
Private Sub UpdateGUI()
Dim strContacts() As String = m_contacts.GetContactInfo()
If (strContacts IsNot Nothing) Then
listResults.Items.Clear()
listResults.Items.AddRange(strContacts)
lstCount.Text = listResults.Items.Count.ToString()
End If
End Sub
您是否有与cmbCountries关联的事件处理程序。SelectedIndexChangedInes。请查看问题的更新信息当您在UpDateGUI中清除列表时,您也会清除所选项目。将列表设置为ListBox的数据源,并且大部分代码都不需要。如何将列表设置为数据源?向传递ListBox的集合类添加一个方法,或者将其传递到ctor中,然后只传递ListBox.DataSource=列表一个BindingList可能工作得更好