use*_*370 9 c# listbox winforms
我正在尝试将列表框1中的选定项目移动到列表框2,反之亦然.我有两个按钮,>>和<<.当我在listbox1中选择项目然后单击>>项目应该从listbox1移动到listbox2.
private void MoveListBoxItems(ListBox source, ListBox destination)
{
ListBox.SelectedObjectCollection sourceItems = source.SelectedItems;
foreach (var item in sourceItems)
{
destination.Items.Add(item);
}
while (source.SelectedItems.Count > 0)
{
source.Items.Remove(source.SelectedItems[0]);
}
}
private void button2_Click_1(object sender, EventArgs e)
{
MoveListBoxItems(listbox , lstActivity);
}
Run Code Online (Sandbox Code Playgroud)
Hab*_*are 10
你的代码工作正常.我测试了它.你的问题是"我尝试将列表框1中的选定项目移动到列表框2."
我认为你的button2有problem.delete button2和下面的代码
private void button2_Click_1(object sender, EventArgs e)
{
MoveListBoxItems(listbox , lstActivity);
}
Run Code Online (Sandbox Code Playgroud)
然后创建其他按钮并创建单击事件.
完整来源:
private void MoveListBoxItems(ListBox source, ListBox destination)
{
ListBox.SelectedObjectCollection sourceItems = source.SelectedItems;
foreach (var item in sourceItems)
{
destination.Items.Add(item);
}
while (source.SelectedItems.Count > 0)
{
source.Items.Remove(source.SelectedItems[0]);
}
}
private void first2second_Click(object sender, EventArgs e)
{
MoveListBoxItems(FirstListbox, LastListbox);
}
private void second2first_Click(object sender, EventArgs e)
{
MoveListBoxItems(LastListbox, FirstListbox);
}
Run Code Online (Sandbox Code Playgroud)
这段代码很有用.如果要选择多个项目更改属性SelectionMode = MultiSimple;