2016-09-17 65 views
-1

我正在使用文档编写器,并且包含了制表符的功能,并且无法将文件打开到多个制表符中 我正在使用RichTextboxes (我不知道这会影响什么)打开文件富文本框(V​​B.NET)

下面是代码:

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的目录中的文件

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

回答

0

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

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

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

的方法将返回:

Hello World.txt 

所以从你的代码中删除通话,你应该是好去:

Case DialogResult.OK 
    loadFile(ofd.FileName)