如何在vb.net中获取ListView的SelectedItem或SelectedIndex

时间:2012-01-01 15:41:10

标签: vb.net winforms listview

正如你所知,我想要的是什么。我在使用列表框。在Listbox中,我们可以通过一行简单的代码获取所选项: listbox1.selectedItem。现在我正在使用ListView,我如何得到SelectedItemSelectedindex ListView

7 个答案:

答案 0 :(得分:11)

ListView通过SelectedItemsSelectedIndices属性返回所选项目和索引的集合。请注意,如果当前未选择任何项目,则这些集合为空(lst.SelectedItems.Count = 0)。选择的第一个项目是lst.SelectedItems(0)Items集合中此项目的索引为lst.SelectedIndices(0)。所以基本上

lst.SelectedItems(0)

相同
lst.Items(lst.SelectedIndices(0))

您也可以使用复选框。为此,请将CheckBoxes设置为True。通过CheckedItemsCheckedIndices属性,您可以查看已检查的项目。

答案 1 :(得分:9)

以下是我在问题中找到的答案:

urlList1.FocusedItem.Index

我正在通过以下方式获得所选项目值:

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

答案 2 :(得分:6)

<强> VB6: Listview1.selecteditem

<强> VB10: Listview1.FocusedItem.Text

答案 3 :(得分:2)

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

答案 4 :(得分:1)

如果您想使用listboxlistview中选择相同的项目,可以使用:

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

答案 5 :(得分:0)

ListView.FocusedItem.Index 

或者你可以像这样使用foreach循环

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

答案 6 :(得分:0)

请尝试此操作以获取列索引

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