主题:请教一个listview的菜鸟问题
shigx
[专家分:1790] 发布于 2006-06-12 08:08:00
假如有一个listview1的控件,有3个列:编号,姓名和年龄,里面有很多行。
现在我想要鼠标选中某一行以后,单击,即可分别获得该行的三个值赋值给3个变量,比如:001,张三,男,等等。
我发现VB6和VB.net中的listview控件获取这个值的方法不同,请高手执教在.net中应该怎么做?谢谢!
回复列表 (共3个回复)
沙发
jzyray [专家分:20610] 发布于 2006-06-12 12:14:00
ItemActivate事件中,使用控件的SelectedItems或者SelectedIndices来返回选中的项或索引。
板凳
purana [专家分:440] 发布于 2006-07-07 17:23:00
Imports System.IO
3 楼
purana [专家分:440] 发布于 2006-07-07 17:24:00
不好意思..上面搞错了..
Imports System.IO
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ListView1.View = View.Details
ListView1.FullRowSelect = True
Dim _ColumnHeader As ColumnHeader
_ColumnHeader = New ColumnHeader()
_ColumnHeader.Text = "文件名"
_ColumnHeader.Width = 120
ListView1.Columns.Add(_ColumnHeader)
_ColumnHeader = New ColumnHeader()
_ColumnHeader.Text = "长度"
_ColumnHeader.Width = 60
ListView1.Columns.Add(_ColumnHeader)
_ColumnHeader = New ColumnHeader()
_ColumnHeader.Text = "创建时间"
_ColumnHeader.Width = 100
ListView1.Columns.Add(_ColumnHeader)
Dim _ListFile As FileInfo
Dim _Files As FileInfo()
_Files = New DirectoryInfo("D:\").GetFiles
For Each _ListFile In _Files
Dim _Listitem As New ListViewItem(_ListFile.Name)
_Listitem.SubItems.Add(_ListFile.Length.ToString)
_Listitem.SubItems.Add(_ListFile.CreationTime.ToShortTimeString)
ListView1.Items.Add(_Listitem)
Next
End Sub
Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDown
Dim _item As ListViewItem = ListView1.GetItemAt(e.X, e.Y)
If Not (_item Is Nothing) Then
Label1.Text = _item.Text
Label2.Text = _item.SubItems(1).Text.ToString
Label3.Text = _item.SubItems(2).Text.ToString
End If
End Sub
我来回复