正如你所知,我想要的是什么。我在使用列表框。在Listbox
中,我们可以通过一行简单的代码获取所选项:
listbox1.selectedItem
。现在我正在使用ListView
,我如何得到SelectedItem
或Selectedindex
ListView
。
答案 0 :(得分:11)
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
属性,您可以查看已检查的项目。
答案 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)
如果您想使用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
答案 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