Есть ли способ в Visual Basic добавлять элементы из ListView1 в ListView2?

#vb.net

#vb.net

Вопрос:

не знал, как точно задать вопрос заголовка. у меня есть поле listview1 с 2 столбцами. в первом столбце указаны имена игроков, а во втором — оценки игроков. в окне listview2 указаны имена игроков и результаты другой игры. мне нужно добавить оценку из listview1 в listview2, чтобы получить общую оценку обеих игр и не добавлять имена игроков дважды, а просто сложить общие оценки вместе и получить общую сумму в listview2. я пытался добавить подпункты scores, но безуспешно. я также пробовал clone

 ListView2.Items.Add(ListView1.Items(0).Clone())
  

но не получилось добавить то, что мне нужно.

у кого-нибудь есть идеи, как лучше всего это сделать? заранее благодарю.

Комментарии:

1. Я предлагаю использовать промежуточную «модель» на основе POCO (или «модель представления») для представления информации, которую вы собираетесь отобразить, а затем использовать функции привязки данных WinForm для ее отображения, вместо того, чтобы манипулировать ListBox.Items напрямую.

2. Вам не нужна удача, чтобы добавить несколько чисел. Вам нужно объявить переменную и инициализировать ее равным нулю, затем перебрать элементы, которые вы хотите добавить, и добавить каждое значение к текущему итогу. В конце ваша переменная содержит общее количество. Это работает точно так же, как если бы вы, например, добавляли числа на физических страницах с помощью калькулятора. Просто имейте в виду, что a ListView содержит Strings , поэтому вам нужно преобразовать их в числа, чтобы добавить их как числа.

3. Да, вы действительно не должны думать в терминах пользовательского интерфейса. Поля списка, кнопки и т.д. используйте какую-нибудь наблюдаемую коллекцию, mvvm и linq

Ответ №1:

Используйте кнопку для переноса данных из Listbox 1 в Listbox 2

Если вы хотите перенести ВСЕ элементы из Listbox 1 в Listbox 2, вам следует использовать «ДЛЯ СЛЕДУЮЩЕГО ЦИКЛА»

Пример:

 Listbox2.Items.Clear() Clear first the data in ListBox 2

then add this loop assuming you want to select all data

For i = 0 To Listbox1.Items.Count - 1

    Listbox2.Items.Add(Listbox1.Items(i).ToString)

Next