VB.NET 设置默认文本编辑器
VB.NET Set Default Text Editor
我在 Visual Basic 2013 中创建了自己的文本编辑器。我想从应用程序外部用它打开文本文件:从桌面双击打开它们或右键单击并打开。
我尝试使用右键单击并打开,但它不起作用,它只会打开我的应用程序。
如何让我的文本编辑器成为我用来打开文本文件的编辑器?
您必须使用类似 Environment.GetCommandLineArgs 的方法。
将其放入您的表单加载事件中:
Dim CommandLineArguments() As String = Environment.GetCommandLineArgs()
If CommandLineArguments.Length >= 2 AndAlso String.IsNullOrEmpty(CommandLineArguments(1)) = False AndAlso IO.File.Exists(CommandLineArguments(1)) Then
Me.TextBox1.Text = IO.File.ReadAllText(CommandLineArguments(1))
End If
这会将命令行参数发送到您的应用程序(这是您尝试使用应用程序打开的文件的路径)并检查参数是否为现有文件。如果是这样,它会将所有文件的文本读入您的 TextBox
.
在表单加载事件中写入这段代码。
Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim fname As String = Command$()
If Not fname = "" Then
fname = Replace(fname, Chr(34), "")
Dim obj As New System.IO.StreamReader(fname.ToString)
RichTextBox1.Rtf = obj.ReadToEnd
obj.Close()
Me.Text = "Your Application Name " & fname
End If
End Sub
我在 Visual Basic 2013 中创建了自己的文本编辑器。我想从应用程序外部用它打开文本文件:从桌面双击打开它们或右键单击并打开。
我尝试使用右键单击并打开,但它不起作用,它只会打开我的应用程序。
如何让我的文本编辑器成为我用来打开文本文件的编辑器?
您必须使用类似 Environment.GetCommandLineArgs 的方法。
将其放入您的表单加载事件中:
Dim CommandLineArguments() As String = Environment.GetCommandLineArgs()
If CommandLineArguments.Length >= 2 AndAlso String.IsNullOrEmpty(CommandLineArguments(1)) = False AndAlso IO.File.Exists(CommandLineArguments(1)) Then
Me.TextBox1.Text = IO.File.ReadAllText(CommandLineArguments(1))
End If
这会将命令行参数发送到您的应用程序(这是您尝试使用应用程序打开的文件的路径)并检查参数是否为现有文件。如果是这样,它会将所有文件的文本读入您的 TextBox
.
在表单加载事件中写入这段代码。
Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim fname As String = Command$()
If Not fname = "" Then
fname = Replace(fname, Chr(34), "")
Dim obj As New System.IO.StreamReader(fname.ToString)
RichTextBox1.Rtf = obj.ReadToEnd
obj.Close()
Me.Text = "Your Application Name " & fname
End If
End Sub