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