2012-01-01 188 views
8

Como usted sabe por pregunta que lo que quiero. estaba usando listbox. En Listbox podemos obtener el artículo seleccionado por una simple línea de código: listbox1.selectedItem. ahora estoy usando ListView, cómo consigo el SelectedItem o Selectedindex de ListView.¿Cómo obtengo el SelectedItem o SelectedIndex de ListView en vb.net

+0

Su pregunta es muy sencilla y no debería formularse en este tipo de sitios web. Puede hacer una búsqueda en lugar de publicarla aquí. 'ListView.SelectedItems [0]' – MahanGM

+3

@MahanGM no entendiste mi pregunta. He preguntado "¿cómo obtengo el elemento seleccionado?". quiero decir "cuando hice clic en algún elemento (no se menciona como tú" [0] ") se seleccionó. Ahora cómo la aplicación sabe qué elemento (por índice u otro) ahora está seleccionado." – Shahrukh

Respuesta

6

Aquí está la respuesta que he encontrado para mi pregunta: ¿

urlList1.FocusedItem.Index 

Y yo estoy recibiendo valor del artículo seleccionado por:

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

ListView devuelve colecciones de elementos seleccionados e índices a través de las propiedades SelectedItems y SelectedIndices. Tenga en cuenta que estas colecciones están vacías, si no hay ningún elemento seleccionado actualmente (lst.SelectedItems.Count == 0). El primer elemento que se selecciona es lst.SelectedItems[0]. El índice de este artículo en la colección Items es lst.SelectedIndices[0]. Así que, básicamente

lst.SelectedItems[0] 

es lo mismo que

lst.Items[lst.SelectedIndices[0]] 

También puede utilizar casillas de verificación. Establezca CheckBoxes en true para esto. A través de las propiedades CheckedItems y CheckedIndices, puede ver qué elementos están marcados.

0
ListView.FocusedItem.Index 

o puede utilizar bucle foreach como esto

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

VB6: Listview1.selecteditem

VB10: Listview1.FocusedItem.Text

+0

Quiero señalar que Excel VBA (2010 y posiblemente otros) se comportan como VB6. –

0

por ejemplo, si desea seleccionar el mismo elemento en un cuadro de lista utilizando una vista de lista, puede utilizar Private Sub ListView1_SelectedIndexChanged (remitente de ByVal como sistema. objeto, ByVal e As System.EventArgs) dirige ListView1.SelectedIndexChanged

For aa As Integer = 0 To ListView1.SelectedItems.Count - 1 
     ListBox1.SelectedIndex = ListView1.SelectedIndices(aa) 
    Next 
End Sub 
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 
0

por favor, intente esto para obtener los índice de la columna

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

Bienvenido a StackOverflow. Es posible que desee considerar proporcionar comentarios sobre el código o ampliar su respuesta para ayudar a la audiencia más amplia y alentar la votación ascendente. ["La brevedad es aceptable, pero las explicaciones más completas son mejores".] (Http://stackoverflow.com/help/how-to-answer) – gfullam

Cuestiones relacionadas