c# – 共享ComboBox DataSource
发布时间:2020-12-15 06:23:59 所属栏目:百科 来源:网络整理
导读:我可以问为什么两个组合框都相互触发,这两个都有相同的值? 我不能共享一个列表,并有两个组合框与不同的选定文本? private void Form1_Load(object sender,EventArgs e) { BindingListstring list = new BindingListstring(); list.Add("A"); list.Add("B")
我可以问为什么两个组合框都相互触发,这两个都有相同的值?
我不能共享一个列表,并有两个组合框与不同的选定文本? 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; } 更新: 我不希望使用2个不同的列表,因为我希望能够在运行时修改这个单一的列表,并且更改会反映在所有ComboBox中.任何实现这一点的方法都将不胜感激. 解决方法
你可以这样解决它:
// combobox.DataSource = list; var curr = new BindingSource(list,null); combobox.DataSource = curr; 有一个默认的BindingSource(Currencymanager)链接到每个Form,保持2 cbx同步.但我不知道这里有什么确切的规则.我甚至不知道上述是不是一个好主意. 对于小列表,我将分开复制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |