web-dev-qa-db-fra.com

Comment puis-je obtenir le SelectedItem ou SelectedIndex de ListView dans vb.net

Comme vous le savez, par question, c'est ce que je veux. J'utilisais listbox. Dans Listbox nous pouvons obtenir l'élément sélectionné par une simple ligne de code: listbox1.selectedItem. Maintenant, je me sers de ListView, comment obtenir les SelectedItem ou Selectedindex de ListView

8
Shahrukh

Voici la réponse que j'ai trouvée pour ma question: 

urlList1.FocusedItem.Index

Et je reçois la valeur de l'élément sélectionné par:

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

ListView renvoie des collections d'éléments et d'indices sélectionnés via les propriétés SelectedItems et SelectedIndices. Notez que ces collections sont vides si aucun élément n'est actuellement sélectionné (lst.SelectedItems.Count = 0). Le premier élément sélectionné est lst.SelectedItems(0). L'index de cet élément dans la collection Items est lst.SelectedIndices(0). Donc en gros

lst.SelectedItems(0)

est le même que

lst.Items(lst.SelectedIndices(0))

Vous pouvez également utiliser des cases à cocher. Définissez CheckBoxes sur True pour cela. Grâce aux propriétés CheckedItems et CheckedIndices, vous pouvez voir quels éléments sont vérifiés.

11

VB6: Listview1.selected élément

VB10: Listview1.FocusedItem.Text

6
Raphael Estrada
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
2
Kaya Kipgen

par exemple, si vous souhaitez sélectionner le même élément dans une liste à l'aide d'une liste, vous pouvez utiliser Private Sub ListView1_SelectedIndexChanged (expéditeur de ByVal en tant que System.Object, ByVal et en tant que System.EventArgs) gère ListView1.SelectedIndexChanged

 For aa As Integer = 0 To ListView1.SelectedItems.Count - 1
        ListBox1.SelectedIndex = ListView1.SelectedIndices(aa)
    Next
End Sub
0
ismail osunlana
ListView.FocusedItem.Index 

ou vous pouvez utiliser une boucle foreach comme celle-ci

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

Veuillez essayer ceci pour obtenir l'index de la colonne

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
0
Narinder Rattu