Vb.net 表单中的每个组合框上都会发生SelectedIndexChanged事件
我正在开发VB.NET windows应用程序 我在表格上增加了三个组合框。问题是,如果我改变 一个组合框的索引,即该组合框发生SelectedIndexChanged事件 但表单上存在的每个其他组合框都会在同一时间发生SelectedIndexChanged事件 有什么问题,我很困惑,我错过了什么吗Vb.net 表单中的每个组合框上都会发生SelectedIndexChanged事件,vb.net,combobox,Vb.net,Combobox,我正在开发VB.NET windows应用程序 我在表格上增加了三个组合框。问题是,如果我改变 一个组合框的索引,即该组合框发生SelectedIndexChanged事件 但表单上存在的每个其他组合框都会在同一时间发生SelectedIndexChanged事件 有什么问题,我很困惑,我错过了什么吗 Private Sub LoadBenNamesInComboBox() DataLoaded = False Dim oBenname As New BenDe
Private Sub LoadBenNamesInComboBox()
DataLoaded = False
Dim oBenname As New BenDetails
oBenname.LoadAll()
cmbNEFTBenNames.DataSource = oBenname
cmbNEFTBenNames.DisplayMember = "NameOfBen"
cmbNEFTBenNames.ValueMember = "ID"
cmbRTGSBenNames.DataSource = oBenname
cmbRTGSBenNames.DisplayMember = "NameOfBen"
cmbRTGSBenNames.ValueMember = "ID"
cmbIMPSBen.DataSource = oBenname
cmbIMPSBen.DisplayMember = "NameOfBen"
cmbIMPSBen.ValueMember = "ID"
DataLoaded = True
End Sub
Private Sub cmbNEFTBenNames_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNEFTBenNames.SelectedIndexChanged
End Sub
Private Sub cmbIMPSBen_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbIMPSBen.SelectedIndexChanged
End Sub
Private Sub cmbRTGSBenNames_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbRTGSBenNames.SelectedIndexChanged
End Sub
之所以会发生这种情况,是因为您使用ComboBox数据源属性将下拉框绑定回数据源 当您在其中一个下拉列表中选择一个值时,它会自动将其他值更新为相同的值 相反,您可以将数据源设置为oBenName对象的副本或数组 e、 g.如果BenDetails是一个列表或使用ToArray函数的东西,您可以执行以下操作:
Private Sub LoadBenNamesInComboBox()
DataLoaded = False
Dim oBenname As New BenDetails
oBenname.LoadAll()
cmbNEFTBenNames.DataSource = oBenname.ToArray
cmbNEFTBenNames.DisplayMember = "NameOfBen"
cmbNEFTBenNames.ValueMember = "ID"
cmbRTGSBenNames.DataSource = oBenname.ToArray
cmbRTGSBenNames.DisplayMember = "NameOfBen"
cmbRTGSBenNames.ValueMember = "ID"
cmbIMPSBen.DataSource = oBenname.ToArray
cmbIMPSBen.DisplayMember = "NameOfBen"
cmbIMPSBen.ValueMember = "ID"
DataLoaded = True
End Sub
之所以会发生这种情况,是因为您使用ComboBox数据源属性将下拉框绑定回数据源 当您在其中一个下拉列表中选择一个值时,它会自动将其他值更新为相同的值 相反,您可以将数据源设置为oBenName对象的副本或数组 e、 g.如果BenDetails是一个列表或使用ToArray函数的东西,您可以执行以下操作:
Private Sub LoadBenNamesInComboBox()
DataLoaded = False
Dim oBenname As New BenDetails
oBenname.LoadAll()
cmbNEFTBenNames.DataSource = oBenname.ToArray
cmbNEFTBenNames.DisplayMember = "NameOfBen"
cmbNEFTBenNames.ValueMember = "ID"
cmbRTGSBenNames.DataSource = oBenname.ToArray
cmbRTGSBenNames.DisplayMember = "NameOfBen"
cmbRTGSBenNames.ValueMember = "ID"
cmbIMPSBen.DataSource = oBenname.ToArray
cmbIMPSBen.DisplayMember = "NameOfBen"
cmbIMPSBen.ValueMember = "ID"
DataLoaded = True
End Sub
看起来他们共享相同的
数据源
。看起来他们共享相同的数据源
。