我可以问为什么两个组合框都相互触发,这两个都有相同的值?
我不能共享一个列表,并有两个组合框与不同的选定文本?
我不能共享一个列表,并有两个组合框与不同的选定文本?
private void Form1_Load(object sender,EventArgs e) { BindingList<string> list = new BindingList<string>(); list.Add("A"); list.Add("B"); list.Add("C"); list.Add("D"); bind(cbo1,list); bind(cbo2,list); } private void bind(ComboBox comboBox,BindingList<string> list) { // commented lines are in actual code,// but appears unimportant in this question //comboBox.DropDownStyle = ComboBoxStyle.DropDown; //comboBox.AutoCompleteSource = AutoCompleteSource.ListItems; //comboBox.AutoCompleteMode = AutoCompleteMode.Suggest; comboBox.DataSource = list; //comboBox.Focus(); //comboBox.Text = string.Empty; //comboBox.SelectedText = string.Empty; }
更新:
好的,现在我发现问题是DataSource由一些BindingContext和CurrencyManager管理,以自动同步列表.但是我觉得有人必须知道如何禁用这种行为.
我不希望使用2个不同的列表,因为我希望能够在运行时修改这个单一的列表,并且更改会反映在所有ComboBox中.任何实现这一点的方法都将不胜感激.