如何刷新 Label (VB) 中的 OpenFileDialog .txt 文件?

How to refresh OpenFileDialog .txt file in Label (VB)?

我的 VB 应用程序应使用 StreamReader 读取文本并在标签中显示 .txt 文件内容:

Private Sub FileLocationButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FileLocationButton.Click
    OpenFileDialog1.ShowDialog()
End Sub

Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
    If OpenFileDialog1.FileName <> "" Then
        Dim SR As New StreamReader(OpenFileDialog1.FileName)

        Do Until SR.EndOfStream
            Label6.Text = Label6.Text & SR.ReadLine & vbCrLf
        Loop
        SR.Close()
    End If
End Sub

我正在用 MS Word 等编写和保存文本文件,想在 vb 应用程序中查看文件(文本)的更新版本。
所以: 我添加了一个计时器,想知道什么代码允许应用程序每 3 秒使用新文本(来自 .txt 文件)刷新标签,以便我刚刚在 MS Word/Notepad 等中输入的新内容. 会显示吗?

您可以使用计时器来刷新标签中的文本。在窗体设计器中,将 Timer 从工具箱拖到主窗体 (Form1) 上。将 FilePath 属性 添加到您的首选项表单 (Preferences1) 并使用它来存储在 OpenFileDialog 中选择的路径。当您显示首选项表单时,将其路径保存在主表单中的 class 级别变量中,并以 3000 的间隔启动计时器(这是毫秒,所以 3000 是 3 秒)。在定时器 Tick 事件中,再次读取文件并替换标签中的文本。请注意,以下代码使用 File.ReadAllText 在一个语句中读取文件(并关闭它)。

在主窗体 (Form1) 中有此代码

Private textFile As String

Sub PrefButton_Click(sender As Object, e As EventArgs) Handles PrefButton.Click
    Using pref As New Preferences1 
        pref.ShowDialog
        textFile = pref.FilePath 
    End Using
    If textFile <> "" Then Label6.Text = File.ReadAllText(textFile)
    Timer1.Interval = 3000
    Timer1.Start 
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) _
  Handles Timer1.Tick
    If textFile <> "" Then Label6.Text = File.ReadAllText(textFile)
End Sub

在首选项表单 (Preferences1) 中,您有此代码

Private myPath As String
Public ReadOnly Property FilePath As String
    Get
        Return myPath
    End Get
End Property 

Private Sub FileLocationButton_Click(sender As Object, e As EventArgs) _
  Handles FileLocationButton.Click
    If OpenFileDialog1.ShowDialog = DialogResult.OK Then 
        myPath = OpenFileDialog1.FileName
    End If
End Sub