Получить значение из SubItems или обратиться к List<> объекту из события - C#

Узнай цену своей работы

Формулировка задачи:

Я создал объект ListView и заполнил его n кол-вом подобных элементов
List<Data> list = new List<Data>();
list.Add(new Data() { Title = title, Url = url });
И отсюда исходит 2 вопроса: - Как обратиться к list из события MouseDoubleClick или какого нибудь класса? Но в приоритете хотя-бы из события. - Я вывел все элементы в ListView. Title находится в Items, а Url находится в SubItems. Как получить значение SubItems при клике на его соседний Item. Получалось только с Итемом и всё:
listView1.SelectedItems[0].Text

Решение задачи: «Получить значение из SubItems или обратиться к List<> объекту из события»

textual
Листинг программы
private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    var lw = (ListView)sender; // либо сразу listView1
    var hit = lw.HitTest(e.Location);
 
    if (hit.Item != null)
    {
        // вывод второй колонки:
        MessageBox.Show(hit.Item.SubItems[1].Text);
 
        // Поиск в списке:
        Data element = list[hit.Item.Index];
 
        // Можно еще хранить прямые ссылки на объекты:
        Data link = hit.Item.Tag as Data;
        if (link != null) { /* ... */ }
        // Если при добавлении заполнять свойство Tag:
        // Data d = ... ;
        // var item = listView1.Items.Add(d.Title);
        // item.SubItems.Add(d.Url);
        // item.Tag = d; // вот тут
    };
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5