日期:2014-05-17  浏览次数:21068 次

【C#】如何让两个listBox同时多选?
问题情况:
两个listBox的item数量一样多,且一一对应。
要求选中一个listBox里的item时,另一个listBox要自动选中对应的item。

同时单选我实现了,但同时多选就不会了,望知道的朋友能指教一下。

//同时单选
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    this.listBox2.SelectedIndex = this.listBox1.SelectedIndex;
}

------解决方案--------------------

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.Focused)
            {
                listBox2.SelectedIndices.Clear();
                for (int i = 0; i < listBox1.SelectedIndices.Count; i++ )
                {
                    listBox2.SelectedIndices.Add(listBox1.SelectedIndices[i]);
                }
            }
        }

        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox2.Focused)
            {
                listBox1.SelectedIndices.Clear();
                for (int i = 0; i < listBox2.SelectedIndices.Count; i++)
                {
                    listBox1.SelectedIndices.Add(listBox2.SelectedIndices[i]);