2016-09-17 2 views
-1

문서 작성자에서 작업 중이고 탭 기능을 포함하고 있으며 여러 탭으로 파일을 여는 데 문제가 있습니다 RichTextboxes를 사용하고 있습니다.열기 파일 서식있는 텍스트 상자 (VB.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) 
관련 문제