Vb.net 文件未显示在OpenFileDialog中

Vb.net 文件未显示在OpenFileDialog中,vb.net,file,Vb.net,File,我试图在VB2012中做一些类似文本编辑器的事情,所以我有一个带有OpenFile选项的MenuStrip。当它被单击时,它会触发一个OpenFileDialog控件,并显示具有所需扩展名的文件。问题是,如果我用菜单条中的另一个选项关闭文件,当我想打开我第一次用同一个OpenFile选项打开的同一个文件时,OpenFileDialog不会显示该文件 你知道为什么吗 以下是我打开文件的方式: Private Sub OpenFileToolStripMenuItem_Click(sender As

我试图在VB2012中做一些类似文本编辑器的事情,所以我有一个带有OpenFile选项的MenuStrip。当它被单击时,它会触发一个OpenFileDialog控件,并显示具有所需扩展名的文件。问题是,如果我用菜单条中的另一个选项关闭文件,当我想打开我第一次用同一个OpenFile选项打开的同一个文件时,OpenFileDialog不会显示该文件

你知道为什么吗

以下是我打开文件的方式:

Private Sub OpenFileToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenFileToolStripMenuItem.Click
    'Open File
    If OpenFile.ShowDialog() = Windows.Forms.DialogResult.OK Then
        If Not (OpenFile.FileName = "") And OpenFile.CheckFileExists Then
            NewFile = New StreamReader(OpenFile.FileName)
            If NewFile IsNot Nothing Then
                Me.TextBox_Main.Text = NewFile.ReadToEnd
                Me.TabPage1.Text = OpenFile.FileName.Substring(OpenFile.FileName.LastIndexOf("\") + 1)
            End If
        End If
    End If
End Sub
Private Sub CloseFileToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseFileToolStripMenuItem.Click
    'Close Files
    If NewFile IsNot Nothing Then
        NewFile.Close()
        NewFile = Nothing
    End If
    Me.TextBox_Main.Text = ""
    Me.TabPage1.Text = "New Tab"
End Sub
下面是我关闭文件的方式:

Private Sub OpenFileToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenFileToolStripMenuItem.Click
    'Open File
    If OpenFile.ShowDialog() = Windows.Forms.DialogResult.OK Then
        If Not (OpenFile.FileName = "") And OpenFile.CheckFileExists Then
            NewFile = New StreamReader(OpenFile.FileName)
            If NewFile IsNot Nothing Then
                Me.TextBox_Main.Text = NewFile.ReadToEnd
                Me.TabPage1.Text = OpenFile.FileName.Substring(OpenFile.FileName.LastIndexOf("\") + 1)
            End If
        End If
    End If
End Sub
Private Sub CloseFileToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseFileToolStripMenuItem.Click
    'Close Files
    If NewFile IsNot Nothing Then
        NewFile.Close()
        NewFile = Nothing
    End If
    Me.TextBox_Main.Text = ""
    Me.TabPage1.Text = "New Tab"
End Sub

关闭文件流与保存文件不同。一旦内容被读取,就不需要保持流打开。所以我应该打开文件,读取,然后中间关闭,是的,这是有道理的,我做了,但是当我再次启动OpenFileDialog时,它仍然不显示文件。你不显示OFD设置,如过滤器等,所以很难说。您的流读取器还需要处理,而不仅仅是关闭访问MSDN并使用查找如果保存文件名,您可以在下次要打开OFD时设置OpenFileDialog.filename。顺便说一句,您可以使用Path.GetFileNameOpenFile.FileName代替OpenFile.FileName.SubstringOpenFile.FileName.LastIndexOf\+1。