Получить значение SubItem при двойном щелчке элемента в ListView - PullRequest
4 голосов
/ 23 мая 2010

У меня есть просмотр списка с 2 столбцами, и когда я дважды щелкаю элемент, мне нужно отобразить значение его соответствующего подпункта в элементе управления TextBox. Как я могу это сделать?

Я искал в Google, но он не дал ничего полезного, возможно потому, что я не совсем уверен, что искать.

Спасибо

1 Ответ

8 голосов
/ 23 мая 2010

Ссылки MSDN, которые вы хотите прочитать: ListViewItem и ListViewSubItem .
Вы получаете доступ к подэлементам вашего элемента представления списка через свойство ListViewItem.SubItems. Самое важноеСледует помнить, что первый подпункт относится к элементу представления списка владельцев, поэтому для доступа к фактическим подпунктам необходимо индексировать, начиная с 1. Это вернет вам объект ListViewSubItem, и вы можете получить его текстовую строку, вызвавListViewSubItem.Text.

т. Е.
SubItems[0] дает вам элемент представления списка «родитель»
SubItems[1] дает вам первый подпункт и т. Д.

Быстрый, неприятный фрагмент кода

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
      ListView.SelectedIndexCollection sel = listView1.SelectedIndices;

      if (sel.Count == 1)
      {
          ListViewItem selItem = listView1.Items[sel[0]];
          textBox1.Text = selItem.SubItems[1].Text;
      }
}

Надеюсь, это поможет

...