我有一个文本框,它显示文本的进度! 如何延迟,代码不会立即显示?
MetroTextBox4.Text = MetroTextBox4.Text + "test1" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test2" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test3" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test4" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test5" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test6" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test7" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test8" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test9" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "test10" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "******************************************************" & Environment.NewLine
MetroTextBox4.Text = MetroTextBox4.Text + "You may experience lag for a bit!" & Environment.NewLine
答案 0 :(得分:1)
在表单中添加一个计时器,可以在可以添加到WinForms的控件的工具箱面板中找到。当消息开始出现时,Call timer1.Start()
就会出现,并注册一个tick事件回调。当计时器滴答时,将下一行文本添加到文本框中。添加最后一行后,请致电timer1.Stop()
将其关闭。
答案 1 :(得分:0)
如果您只是希望在每行添加到文本框之间有延迟,并且您不担心在每次添加之间无法运行任何其他进程,请将此子添加到您的定义中。
public abstract class ClientBase<TChannel> :
ICommunicationObject, IDisposable where TChannel : class
并在每行之间添加
Private Sub Delay(msdelay As Integer)
Dim stpwatch As New Stopwatch
stpwatch.Start()
Do
Loop Until stpwatch.ElapsedMilliseconds >= msdelay
End Sub
其中1000是您想要的延迟毫秒数。
但是,如果您希望在后台运行测试并在测试过程中进行报告,那么您很可能至少需要使用后台工作程序。也许您可以展示测试代码的基础知识,并根据其运行方式,更容易提供答案。