使用来自 vb 控制台应用程序的文件选择器打开 *.txt

Open *.txt with file selector from vb console application

我需要使用控制台应用程序。我想要一个文件 select 或打开,以便用户可以 select 任何 .txt 文件。我查看了 OpenFileDialog,但据我所知它仅适用于表单应用程序。

这种window正是我要找的:

就像我说的,您不应该在控制台应用程序中使用 Windows-UI,也就是说,您可以按照您的要求执行此操作。

我在我的本地机器上写了它并且它有效。

创建一个新的 VB.Net 控制台项目,并引用 System.Windows.Forms 并将整个代码粘贴到 module1.vb (P.S。我更新它以包含 @Codexer 的建议,并且还在异常处理程序中包含错误消息。)

Imports System.Windows.Forms

Module Module1

    <STAThread()> _
    Sub Main()
        Dim OpenFileDlg as new OpenFileDialog

            OpenFileDlg.FileName = "" ' Default file name
            OpenFileDlg.DefaultExt = ".txt" ' Default file extension
            OpenFileDlg.Filter = "Text Files (*.txt)|*.TXT"
            OpenFileDlg.Multiselect = True
            OpenFileDlg.RestoreDirectory = True
            ' Show open file dialog box
            Dim result? As Boolean = OpenFileDlg.ShowDialog()

            ' Process open file dialog box results
    for each path in OpenFileDlg.Filenames
      Try
                             System.Diagnostics.Process.Start(Path)

            Catch ex As Exception
                MsgBox("Error loading the file" & vbCrLf & ex.Message)
            End Try
            If result = True Then
                ' Open document
            Else
                  Exit Sub
            End If
    next
    End Sub

End Module

这是输出。