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 是表单的成员。
这个或类似的结构应该有效。