每当我们使用下面的代码向combobox添加数据源时。
comboBoxBusNo.DataSource = busNo.Tables[0];
comboBoxBusNo.DisplayMember = "BusId";
comboBoxBusNo.ValueMember = "Id";
为什么调用private void comboBoxBusNo_SelectedIndexChanged(object sender, EventArgs e)
事件。我们如何阻止在加载时调用它。
答案 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;