Как получить SelectedItem или SelectedIndex ListView в vb.net

Как вы знаете, вопрос, что я хочу. Я использовал список. В Listbox мы можем получить выбранный элемент с помощью простой строки кода: listbox1.selectedItem. Теперь я использую ListView, как я получаю SelectedItem или Selectedindex ListView.

Ответ 1

Вот ответ, который я нашел для моего вопроса:

urlList1.FocusedItem.Index

И я получаю выбранное значение элемента:

urlList1.Items(urlList1.FocusedItem.Index).SubItems(0).Text

Ответ 2

ListView возвращает коллекции выбранных элементов и индексов через свойства SelectedItems и SelectedIndices. Обратите внимание, что эти коллекции пусты, если в данный момент ни один элемент не выбран (lst.SelectedItems.Count = 0). Первый выбранный элемент - это lst.SelectedItems(0). Индексом этого элемента в коллекции Items является lst.SelectedIndices(0). Так в основном

lst.SelectedItems(0)

такой же как

lst.Items(lst.SelectedIndices(0))

Вы также можете использовать флажки. Установите CheckBoxes в True для этого. Через свойства CheckedItems и CheckedIndices вы можете видеть, какие элементы проверяются.

Ответ 3

VB6: Listview1.selecteditem

VB10: Listview1.FocusedItem.Text

Ответ 4

Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
        Dim tt As String
        tt = ListView1.SelectedItems.Item(0).SubItems(1).Text
        TextBox1.Text = tt.ToString
End Sub

Ответ 5

Если вы хотите выбрать один и тот же элемент в listbox со listview, вы можете использовать:

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
    For aa As Integer = 0 To ListView1.SelectedItems.Count - 1
        ListBox1.SelectedIndex = ListView1.SelectedIndices(aa)
    Next
End Sub

Ответ 6

ListView.FocusedItem.Index 

или вы можете использовать цикл foreach, подобный этому

int index= -1;
foreach (ListViewItem itm in listView1.SelectedItems)
{
    if (itm.Selected)
    {
        index= itm.Index;
    }
}

Ответ 7

Пожалуйста, попробуйте это для получения столбца Index

Private Sub lvDetail_MouseMove(sender As Object, e As MouseEventArgs) Handles lvDetail.MouseClick

    Dim info As ListViewHitTestInfo = lvDetail.HitTest(e.X, e.Y)
    Dim rowIndex As Integer = lvDetail.FocusedItem.Index
    lvDetail.Items(rowIndex).Selected = True
    Dim xTxt = info.SubItem.Text
    For i = 0 To lvDetail.Columns.Count - 1
        If lvDetail.SelectedItems(0).SubItems(i).Text = xTxt Then
            MsgBox(i)
        End If
    Next
End Sub