选择组合框值时执行操作

Performing an action when a combobox value is selected

我在做一些看似很简单的事情时遇到了一些麻烦,但我就是不知道自己做错了什么....

在 Form_Load 我用

填充了一个组合框
Datasource
DisplayMember
ValueMember

这里我设置了 .selectedindex = - 1 这样就什么都不选了。组合框得到正确填充,一切都很顺利。

现在,当用户从下拉列表中选择内容时,我想根据所选的 VALUE 使用大量信息填充 DataGrid。所以我将 ID 传递给填充 DataGrid 的函数。

我正在尝试这样做...

   Private Sub cbo1_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbo1.SelectedValueChanged
    dim productID as string=""

    cbo1.SelectedValue = ProductID
    Call PopulateProductGrid(ProductID)
End Sub

我也尝试过使用 SelectedIndexChanged,但是对于这两个事件我都收到错误

Cannot set the SelectedValue in a ListControl with an empty ValueMember.

我敢打赌,问题是您绑定的顺序有误。您应该始终将 DataSource 设置在最后,而不是第一个。尝试更改它,看看您的问题是否消失。问题是设置 DataSource 意味着控件已绑定,因此在设置 DisplayMemberValueMember.[=14= 之前将选择一个项目并引发适当的事件]