假设您正在执行以下操作
List<string> myitems = new List<string>
{
"Item 1",
"Item 2",
"Item 3"
};
ComboBox box = new ComboBox();
box.DataSource = myitems;
ComboBox box2 = new ComboBox();
box2.DataSource = myitems
Run Code Online (Sandbox Code Playgroud)
所以现在我们有两个绑定到该数组的组合框,一切正常.但是当您更改一个组合框的值时,它会将两个组合框更改为您刚刚选择的组合框.
现在,我知道Arrays总是通过引用传递(了解到当我学习C:D时),但为什么地球上的组合框会一起变化?我不相信组合框控件正在修改集合.
作为一种解决方法,请不要实现预期/期望的功能
ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();
Run Code Online (Sandbox Code Playgroud)