我在 Windows 窗体上有 2 个列表框,在这些框的中间有 2 个按钮。一个显示右边,另一个显示左边。我想要做的是,当我在 listbox1 上选择一些项目并单击右侧显示按钮时,我想将我在 listbox1 上选择的项目复制到 listbox 2,并在我在 1 上选择它们的相同索引处。我可以这个,但是我不能复制空行。这就是我的列表框的样子(我添加了数字只是为了在此处轻松跟踪行)。
ListBox1 Listbox2
1. u a
2.
3. l c
4. b
5. m e
6. f
7. n >>(right button)
8. c
9. z <<(left button) t
10. q
11. s
12.
13. g b
现在在这些框中,如果我选择任何带有文本的项目,然后单击按钮,它会将项目复制到另一个列表框。但是如果我选择任何没有文本的行,任何空行,然后单击按钮,它不会改变任何东西。它不会使其他框项为空。这是代码,我如何复制行。
private void button4_Click(object sender, EventArgs e)
{
List<int> selectedItemIndexes = new List<int>();
foreach (string o in listBox1.SelectedItems)
selectedItemIndexes.Add(listBox1.Items.IndexOf(o));
for (int i = 0; i < selectedItemIndexes.Count; i++)
{
listBox2.Items[selectedItemIndexes[i]] = listBox1.Items[selectedItemIndexes[i]];
}
selectedItemIndexes.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
List<int> selectedItemIndexes = new List<int>();
foreach (object o in listBox2.SelectedItems)
selectedItemIndexes.Add(listBox2.Items.IndexOf(o));
for (int i = 0; i < selectedItemIndexes.Count; i++)
{
listBox1.Items[selectedItemIndexes[i]] = listBox2.Items[selectedItemIndexes[i]];
}
selectedItemIndexes.Clear();
}
我怎样才能复制空行?