C# 在 2 个列表框之间更改选择
C# changing selection between 2 listboxes
所以下面的代码有一个明显的错误,当用户改变两个列表框之间的 selection 时,它们都被清除了。 select listbox2 中的项目同时取消select listbox1 中的项目的最佳方法是什么,反之亦然。
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox2.ClearSelected()
}
private void listBox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox1.ClearSelected()
}
我很想声称只是找朋友,但我似乎无法弄清楚这个简单的问题...
为澄清起见,当我 select 列表框 1 中的项目时,代码确实有效,然后取消 select 编辑列表框 2。问题是 listbox2 立即更改,取消 select 刚刚单击的 listbox1 中的项目
修改两个函数如下:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (bChanging) return;
bChanging = true;
listbox2.ClearSelected();
bChanging = false;
}
bChanging
是表单的成员。
这个或类似的结构应该有效。
所以下面的代码有一个明显的错误,当用户改变两个列表框之间的 selection 时,它们都被清除了。 select listbox2 中的项目同时取消select listbox1 中的项目的最佳方法是什么,反之亦然。
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox2.ClearSelected()
}
private void listBox2_SelectedIndexChanged(object sender, System.EventArgs e)
{
listbox1.ClearSelected()
}
我很想声称只是找朋友,但我似乎无法弄清楚这个简单的问题...
为澄清起见,当我 select 列表框 1 中的项目时,代码确实有效,然后取消 select 编辑列表框 2。问题是 listbox2 立即更改,取消 select 刚刚单击的 listbox1 中的项目
修改两个函数如下:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (bChanging) return;
bChanging = true;
listbox2.ClearSelected();
bChanging = false;
}
bChanging
是表单的成员。
这个或类似的结构应该有效。