【发布时间】:2015-10-28 07:13:54
【问题描述】:
我正在做简单的 WinForms 应用程序,但遇到了一些奇怪的问题。
我的表格:
它非常简单:3 个组合框和两个按钮 - 确定和取消。
查看:
private void applyOrderButton_Click(object sender, EventArgs e)
{
List<string> testList = new List<string>()
{
"A",
"B",
"C"
};
comboBox1st.DataSource = testList;
comboBox2nd.DataSource = testList;
comboBox3rd.DataSource = testList;
comboBox1st.SelectedIndex = 2;
comboBox2nd.SelectedIndex = 1;
comboBox3rd.SelectedIndex = 0;
//Presenter.DoTest();
}
校准方法applyOrderButton_Click() 后会发生什么(单击确定按钮后会发生)我所有的组合框都更改了选定位置。但是,这些组合框中的每一个都具有相同的选定索引 - 在这种特殊情况下,它将是“A”。
然后,我使用光标更改更改组合框 selectedIndex(例如,我选择第三个组合框以显示“C”)对所有三个组合框执行更改。我做错了什么?
【问题讨论】:
-
所有三个盒子共享同一个源,实际上是同一个实例。列表中的当前位置由枚举器的当前元素控制。如果你改变它,它就会到处改变..