【问题标题】:Opening listview items with a double click vb.net双击打开列表视图项目 vb.net
【发布时间】:2012-02-07 01:10:58
【问题描述】:

我想通过双击从列表视图中打开项目。

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,但我似乎无法使用它,有什么建议吗?

我也考虑过使用并打开文件对话框,但我认为没有用户输入路径就无法完成

【问题讨论】:

    标签: vb.net listview onclick double-click


    【解决方案1】:

    我假设当您说打开时,您的意思是您要在该文件类型的默认程序中打开相关文件。在这种情况下,您需要在列表视图中存储文件的完整路径。这可以通过以下代码完成:

        For Each file In files
            li = lstvicon.Items.Add(file.Name)
    
            li.Tag = file.FullName
        Next
    

    然后您需要为列表视图的双击方法添加一个事件。在该事件中,您需要查看所选项目并为其运行默认程序。

    Private Sub lstvicon_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstvicon.DoubleClick
        Process.Start(lstvicon.SelectedItems(0).Tag)
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多