C# 同步。选择两个多选列表框的索引

C# 同步。选择两个多选列表框的索引,c#,listbox,multi-select,C#,Listbox,Multi Select,我正在努力同步。两个多选列表框的SelectedIndex。 启用单选时,代码仅为: private void libHT_SelectedIndexChanged(object sender, EventArgs e) { libMonth.SelectedIndex = libHT.SelectedIndex; } 但如果启用了multi-select,则此操作不起作用。 你能帮助我吗?我必须使用for或foreach吗 谢谢你的帮助。 托马斯有Selec

我正在努力同步。两个多选列表框的SelectedIndex。 启用单选时,代码仅为:

 private void libHT_SelectedIndexChanged(object sender, EventArgs e)
    {
        libMonth.SelectedIndex = libHT.SelectedIndex;
    }
但如果启用了multi-select,则此操作不起作用。 你能帮助我吗?我必须使用for或foreach吗

谢谢你的帮助。 托马斯

有SelectedDices属性

private void libHT_SelectedIndexChanged(object sender, EventArgs e)
{
        libMonth.SelectedIndices.Clear();
        foreach (var index in libHT.SelectedIndices.Cast<int>())
        {
            libMonth.SelectedIndices.Add(index);
        }
}

试试看

是的,您必须循环所有选择。下面的代码可以帮助您实现这一点

private void libHT_SelectedIndexChanged(object sender, EventArgs e) {
    libMonth.SelectedIndices.Clear();
    foreach (int indx in libHT.SelectedIndices)
        libMonth.SelectedIndices.Add(indx);
}
别忘了:

挂接索引更改事件:libHT.SelectedIndexChanged+=libHT\u SelectedIndexChanged; 正确设置选择模式libHT.SelectionMode=libMonth.SelectionMode=SelectionMode.MultiExtended; 注意编程选择,导致无限递归