为什么选择索引更改添加数据源?

时间:2014-04-01 05:37:38

标签: c# winforms combobox datatable datasource

每当我们使用下面的代码向combobox添加数据源时。

            comboBoxBusNo.DataSource = busNo.Tables[0];
            comboBoxBusNo.DisplayMember = "BusId";
            comboBoxBusNo.ValueMember = "Id";

为什么调用private void comboBoxBusNo_SelectedIndexChanged(object sender, EventArgs e)事件。我们如何阻止在加载时调用它。

2 个答案:

答案 0 :(得分:1)

将列表绑定到ComboBox时,默认选择第一个项目,将SelectedIndex设置为0.绑定前没有项目,因此没有选择任何项目,因此SelectedIndex为-1。 SelectedIndex从-1更改为0,因此引发SelectedIndexChanged事件。

答案 1 :(得分:0)

这将阻止事件在加载时触发。

comboBoxBusNo.SelectedIndexChanged -= comboBoxBusNo_SelectedIndexChanged;

        comboBoxBusNo.DataSource = busNo.Tables[0];
        comboBoxBusNo.DisplayMember = "BusId";
        comboBoxBusNo.ValueMember = "Id";

        comboBoxBusNo.SelectedIndexChanged += comboBoxBusNo_SelectedIndexChanged;