Показать listView.Items в ComboBox - PullRequest
       9

Показать listView.Items в ComboBox

1 голос
/ 19 февраля 2010

Как мне показать listView.Items на Form2 в ComboBox на Form1, и я хочу использовать все данные (подэлементы) из выбранного элемента.

Как я могу это сделать?

1 Ответ

1 голос
/ 19 февраля 2010
Form1.comboBox.Items.AddRange(
    Form2.listView.Items.Cast<ListViewItem>().Select(a => a.Text));

Это просто скопирует текст ListViewItem в поле со списком.

Для всех подпунктов становится немного сложнее:

Form1.comboBox.Items.AddRange(
    Form2.listView.Items.Cast<ListViewItem>().Select(
    a => string.Join(", ", a.SubItems
        .Cast<System.Windows.Forms.ListViewItem.ListViewSubItem>()
        .Select(s => s.Text).ToArray())).ToArray());

Это использует LINQ для получения массива текстовых значений из подэлементов каждого элемента, который должен быть объединен с ", ", и добавляет каждый объединенный список строк в ComboBox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...