我有以下代码,我想基本上复制一个不断变化的文本文件的内容并将其转储到文本框显示中,我有以下代码,但它目前无法正常工作。< / p>
If Not File.Exists(masterPath) Then
File.Create(masterPath).Dispose()
End If
Try
reader = New StreamReader(chatlog)
Catch
File.Create(chatlog)
bool = False
End Try
If bool Then
'Dim writer As New StreamWriter(masterPath)
Dim text As String
Do Until reader.EndOfStream
text = reader.ReadLine()
logMenu.AppendText(text & Environment.NewLine)
Loop
reader.Close()
File.Delete(chatlog)
File.Create(chatlog).Dispose()
End If
Thread.Sleep(1000)
Loop
答案 0 :(得分:0)
根据需要创建一个使用Invoke
的新方法,如下所示:
Private Sub DisplayLogLine(ByVal text As String)
If logMenu.InvokeRequired Then
logMenu.Invoke(AddressOf DisplayLogLine, {text})
Return
End If
logMenu.AppendText(text & Environment.NewLine)
End Sub
然后在循环中用DisplayLogLine(reader.ReadLine())
调用它。
基于快速参考的答案Modifying the properties of controls from another thread in VB.net;自从我在.NET中编写多线程UI代码以来已经有一段时间了。