用双击打开listview项目vb.net
问题描述:
我想通过双击打开列表视图中的项目。用双击打开listview项目vb.net
Imports System.IO
Imports System.Xml
Public Class cv7import
Private Sub cv7import_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim caminho As String
caminho = "C:\Documents and Settings\Software\Ambiente de trabalho\cv7import"
lstvicon.View = View.Details
lstvicon.GridLines = False
lstvicon.FullRowSelect = True
lstvicon.HideSelection = False
lstvicon.MultiSelect = True
lstvicon.Columns.Add("Nome")
lstvicon.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize)
Dim DI As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(caminho)
Dim files() As System.IO.FileInfo = DI.GetFiles
Dim file As System.IO.FileInfo
Dim li As ListViewItem
For Each file In files
li = lstvicon.Items.Add(file.Name)
Next
End Sub
Private Sub btnimp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnimp.Click
Dim caminho As String
caminho = "C:\Documents and Settings\Software\Ambiente de trabalho\cv7import"
Dim items() As ListViewItem = lstvicon.SelectedItems.Cast(Of ListViewItem).ToArray
Dim csv() As String = Array.ConvertAll(items, Function(lvi) String.Join(",", lvi.SubItems.Cast(Of ListViewItem.ListViewSubItem).Select(Function(si) si.Text).ToArray))
IO.File.WriteAllLines("C:\Documents and Settings\Software\Ambiente de trabalho\cv7import\teste.csv", csv)
End Class
这是代码的重要组成部分,我用的onclick,但我不能似乎得到它在任何地方,任何建议的觉得呢?
我也考虑过使用和打开文件对话框,但我不认为它可以不带路径的用户的输入来完成
答
我假设当你说开,你的意思是你要打开的相关文件在该文件类型的默认程序中。在这种情况下,您需要在列表视图中存储文件的完整路径。这可以通过以下代码完成:
For Each file In files
li = lstvicon.Items.Add(file.Name)
li.Tag = file.FullName
Next
然后,您将需要为listview的双击方法添加一个事件。在这种情况下,你会想看看选定的项目并运行它的默认程序。
Private Sub lstvicon_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstvicon.DoubleClick
Process.Start(lstvicon.SelectedItems(0).Tag)
End Sub
谢谢我会尝试 – user1100407 2012-01-10 17:17:37