Vb6 列表视图双击事件
使用VB6 列表视图Vb6 列表视图双击事件,vb6,Vb6,使用VB6 列表视图 ID Name 001 Raja 002 Ramu 003 Sajee .. … 代码 上述代码未在文本框中显示值 如何在文本框中显示列表视图行值 需要VB6代码帮助我手头没有VB6,而且我已经有一段时间没有使用它了,但是如果内存正常: ListView1.SelectedItem将返回一个ListViewItem,该ListViewItem提供一个文本属性,以及一个子项属性,该属性允许您以数组的形式访问相关列。ListView SelectedItem属性不会返回L
ID Name
001 Raja
002 Ramu
003 Sajee
..
…
代码
上述代码未在文本框中显示值
如何在文本框中显示列表视图行值
需要VB6代码帮助我手头没有VB6,而且我已经有一段时间没有使用它了,但是如果内存正常:
ListView1.SelectedItem
将返回一个ListViewItem,该ListViewItem提供一个文本
属性,以及一个子项
属性,该属性允许您以数组的形式访问相关列。ListView SelectedItem属性不会返回ListView上选择的项的集合,因此,您无法显式获取第一个选定项、第二个选定项等。您需要在ListView中遍历所有ListItems,并检查是否选中了每个ListItems。如果是,做你想做的
我在示例代码中看到的一个问题是,您使用的是ListView DblClick事件。我可能错了,但看起来每当它触发时,只能选择一个ListView项(触发事件的项)。解决方法是将代码放入新过程中。这里有一个应该有效的方法:
Private Sub GetSelectedItems()
' Make sure exactly two items are selected on our ListView.
If (CheckListViewSelectedItemCount(listview1, 2)) Then
Dim blnFoundFirstItem As Boolean
blnFoundFirstItem = False
Dim i As Integer
' Find out which items are selected.
For i = 1 To listview1.ListItems.Count
If (listview1.ListItems(i).Selected) Then
' Assign the Text of the 'first' selected item to Textbox1.Text.
If (Not blnFoundFirstItem) Then
Textbox1.Text = listview1.ListItems(i).Text
blnFoundFirstItem = True
' Assign the Text of the 'second' selected item to Textbox2.Text.
Else
Textbox2.Text = listview1.ListItems(i).Text
End If
End If
Next i
Else
MsgBox "You need to select two items."
End If
End Sub
我不确定在For循环中以何种顺序迭代列表项。在我的代码中,您可能希望分配给Textbox2.Text的可能是分配给Textbox1.Text的内容
您的代码要求在ListView上至少选择两个项目。我不知道VB6是否有方法返回所选项目的数量,因此我编写了一个小函数来执行此操作:
' Return True if the passed ListView control has a number of selected items that's equal to the intExpectedItemCount parameter.
Private Function CheckListViewSelectedItemCount(listView As listView, intExpectedItemCount As Integer) As Boolean
Dim intSelectedItemCount As Integer
intSelectedItemCount = 0
Dim i As Integer
For i = 1 To listView.ListItems.Count
If (listView.ListItems(i).Selected) Then
intSelectedItemCount = intSelectedItemCount + 1
End If
Next i
CheckListViewSelectedItemCount = (intSelectedItemCount = intExpectedItemCount)
End Function
' Return True if the passed ListView control has a number of selected items that's equal to the intExpectedItemCount parameter.
Private Function CheckListViewSelectedItemCount(listView As listView, intExpectedItemCount As Integer) As Boolean
Dim intSelectedItemCount As Integer
intSelectedItemCount = 0
Dim i As Integer
For i = 1 To listView.ListItems.Count
If (listView.ListItems(i).Selected) Then
intSelectedItemCount = intSelectedItemCount + 1
End If
Next i
CheckListViewSelectedItemCount = (intSelectedItemCount = intExpectedItemCount)
End Function