打开文件富文本框(V​​B.NET)

时间:2016-09-17 15:11:58

标签: vb.net try-catch

我正在处理文档编写器,我正在包含选项卡的功能,而我在将文件打开到多个选项卡时遇到问题 我正在使用RichTextboxes(我不确定这是否会影响任何事情)

以下是代码:

 Public Sub openFile()
    Dim ofd As New OpenFileDialog
    ofd.Filter = fileFilter
    ofd.FileName = ""
    Select Case ofd.ShowDialog()
        Case DialogResult.OK
        loadFile(Path.GetFileName(ofd.FileName))
    End Select
End Sub

Public Sub loadFile(ByVal file As String)
   Try
    fileName = file
    setText(IO.File.ReadAllText(file))
   Catch ex As Exception
            MsgBox(ex.Message)
   End Try
End Sub

Public Sub setText(ByVal value As String)
    Dim t As RichTextBox = tabH.SelectedTab.Controls.OfType(Of RichTextBox)().First()
    t.Text = value
End Sub

尝试正在解决问题并且说它无法找到该文件。但是它正在搜索.exe

目录中的文件

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这是因为您只是将文件名(而不是完整路径)传递给loadFile()方法。

Path.GetFileName() method仅返回路径的文件名和扩展名部分。例如,如果你打电话:

Path.GetFileName("C:\Users\John\Hello World.txt")

该方法将返回:

Hello World.txt

因此,请从您的代码中删除该调用,您应该很高兴:

Case DialogResult.OK
    loadFile(ofd.FileName)