因此,下面的代码有明显的错误:当用户更改两个列表框之间的选择时,它们都被清除。在listbox2中选择项目的最佳方法是什么,同时取消选择listbox1中的项目反之亦然。
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox2.ClearSelected()
}
private void listBox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox1.ClearSelected()
}
我很乐意声称只是要求一个朋友,但我似乎无法想出这个简单的......
为了澄清,当我从listbox1中选择一个项目时,代码确实有效,然后取消选择listbox2。问题是listbox2立即被更改,取消选中刚刚单击的listbox1中的项目
答案 0 :(得分:0)
按如下方式修改两个功能:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (bChanging) return;
bChanging = true;
listbox2.ClearSelected();
bChanging = false;
}
bChanging
是表单的成员。
这个或类似的结构应该有用。