【发布时间】:2015-08-06 20:27:26
【问题描述】:
所以下面的代码有一个明显的错误,当用户改变两个列表框之间的选择时,它们都被清除了。在 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 中取消选择项目
【问题讨论】:
-
未选中表示选中索引=
-1。你为什么要首先清除选择(给我们真实的场景,也许你的方法本身就是错误的)?您可以利用焦点事件来防止SelectedIndexChanged事件处理 activeListBox。 -
代码应该可以工作,除非你没有向我们展示改变选择或焦点的其他事件。
标签: c# listbox listboxitem listboxitems listbox-control