如何打开一个文本文件与“打开方式”选项由软件,由visual basic创建?

How to open a text file with 'open with' option by the software , created by visual basic?

提问人:Debu 提问时间:12/29/2021 更新时间:2/10/2022 访问量:1435

问:

在Windows中,我们可以通过右键单击文本文件来打开文本文件,然后通过记事本,记事本++等任何软件选择“打开方式”选项。我想使用visual basic创建一个记事本类型的软件,它可以通过右键单击Windows资源管理器中的“打开方式”选项打开(加载)任何文本文件。 我尝试使用文本框和按钮创建一个简单的记事本,它可以通过浏览文件系统并选择文件来加载文本文件。但不是通过“打开方式”选项加载。

vb.net visual-studio-2012 txt 打开方式

评论


答:

0赞 Vector 2/10/2022 #1

下面是一个示例。您需要了解,在我的Windows 7系统上,文件类型.txt的默认程序设置是Sublime Text。我假设您了解,如果您将 .txt 文件类型设置为使用记事本。使用我的代码在您的系统上,文件中的文本将使用下面的这行代码与记事本一起显示。

Process.Start(openPath)

若要使用此代码,请在窗体上创建一个 RichTextBox,大小约为 1150 x 850 将其命名为 rtbViewCode
您将需要两个名为 btnViewFile 和 btnCopy
的按钮 我包含了一些奖励代码,可让您将文件文本复制到剪贴板

 Private Sub btnViewFile_Click(sender As Object, e As EventArgs) Handles btnViewFile.Click
    Dim openFileDialog As OpenFileDialog = New OpenFileDialog()
    Dim dr As DialogResult = openFileDialog.ShowDialog()

    If dr = System.Windows.Forms.DialogResult.OK Then

        Dim openPath As String = openFileDialog.FileName
        MsgBox("openPath " & openPath)

        Process.Start(openPath)
        'Line of code above should be used behind it's own Button Click Event

        rtbViewCode.Text = File.ReadAllText(openPath)

    End If
End Sub

Private Sub btnCopy_Click(sender As Object, e As EventArgs) Handles btnCopy.Click
    rtbViewCode.SelectAll()
    rtbViewCode.Copy()
End Sub