【发布时间】:2008-11-12 21:29:12
【问题描述】:
我有一个 Windows 窗体应用程序,在同一个窗体上有两个 ListBox 控件。 它们都将其 SelectionMode 设置为“MultiExtended”。
当我改变其中一个的选择时,其他的选择也会改变。
现在我认为我的 SelectedIndexChanged 处理程序做了一些愚蠢的事情,所以我删除了它们并从头开始重新编写它们,然后遇到了问题。
所以我创建了一个全新的 WinForms 应用程序并将两个 ListBox 拖到表单表面上。
在构造函数中,我用以下内容填充了它们。
List<Thing> data = new List<Thing>();
for ( int i = 0; i < 50; i++ ) {
Thing temp = new Thing();
temp.Letters = "abc " + i.ToString();
temp.Id = i;
data.Add(temp);
}
listBox1.DataSource = data;
listBox1.DisplayMember = "Letters";
listBox1.ValueMember = "Id";
List<Thing> data2 = new List<Thing>();
for ( int i = 0; i < 50; i++ ) {
Thing temp = new Thing();
temp.Letters = "abc " + i.ToString();
temp.Id = i;
data2.Add(temp);
}
listBox2.DataSource = data2;
listBox2.DisplayMember = "Letters";
listBox2.ValueMember = "Id";
然后我构建并运行了应用程序。
开始选择一些值来查看症状是否存在。 他们是!
这实际上是我添加到表单中的所有代码,我没有添加任何事件处理程序,我已经尝试将 SelectionMode 设置为“One”和“MultiExtended”。
谁能告诉我为什么会这样。
干杯
【问题讨论】:
标签: c# .net winforms data-binding