现在写,我可以在两个列表框之间复制项目。问题是,当我将相同的项目从listbox1复制到listbox2没有问题,但当我删除列表框2中的最后一项时,它将 删除最后一项之前的所有其他项,因为它是同一个对象。所以我需要提供我复制的项目和ID,所以当我将项目复制到listbox2时,它将与将被复制到listbox2的下一个项目不同。
private void CopyItemOver_Click(object sender, EventArgs e)
{
foreach (ElementControl item in ElementListBox.SelectedItems)
{
if (item == null)
return;
else
{
SequenceListBox.ValueMember = item.ID.ToString();
item.ID++;
SequenceListBox.Items.Add(item);
elementNumber++;
}
SequenceListBox.SelectedIndex = SequenceListBox.Items.Count - 1;
SequenceListBox.SelectedIndex = -1;
Update();
}
if (ElementListBox.SelectedItems.Count <= 0)
{
return;
}
else
{
var objElement = SequenceListBox.Items[itemCounter] as ElementControl;
if (SequenceListBox.Items.Count == 1)
{
ListViewItem item = new ListViewItem(new[] { ElementListBox.SelectedItems.Count.ToString() + " Elements moved to SequenceListBox", "Ready", GetTime() + " " + elementNumber});
LogListView.Items.Add(item);
}
else
{
ListViewItem item1 = new ListViewItem(new[] { ElementListBox.SelectedItems.Count.ToString() + " Elements moved to SequenceListBox", "Ready", GetTime() + " " + elementNumber });
LogListView.Items.Add(item1);
}
}
LogListView.Items[LogListView.Items.Count - 1].EnsureVisible();
}
希望我的问题足够明确。
DuMaSexy。
答案 0 :(得分:0)
而不是:
SequenceListBox.Items.Add(item);
使用:
SequenceListBox.Items.Add(new ListItem() { Text = item.Text, Value = item.Value);