如何在标签 (VB) 中刷新 OpenFileDialog .txt文件



我的 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/记事本等中键入的新内容将显示?

您可以使用计时器刷新标签中的文本。在窗体设计器中,将计时器从工具箱拖到主窗体 (Form1) 上。将 FilePath 属性添加到首选项窗体 (Preferences1),并使用它来存储 OpenFileDialog 中选择的路径。显示首选项窗体时,将其路径保存在主窗体的类级别变量中,并以 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

在首选项窗体(首选项 1)中,您有此代码

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

最新更新