дать скопированные элементы в списке ID - PullRequest
0 голосов
/ 05 апреля 2011

Написать сейчас я могу копировать элементы между 2 списками. Проблема в том, что когда я копирую те же элементы из listbox1 в listbox2, это не проблема, но когда я удаляю последний элемент в listbox 2, он будет удалите все остальные элементы перед последними, потому что это тот же объект. Поэтому мне нужно дать свои скопированные элементы и идентификатор, чтобы при копировании элементов в 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.

1 Ответ

0 голосов
/ 05 апреля 2011

Вместо:

SequenceListBox.Items.Add(item);

используйте:

SequenceListBox.Items.Add(new ListItem() { Text = item.Text, Value = item.Value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...