【发布时间】:2014-06-26 20:10:37
【问题描述】:
我试图让我的应用程序看起来好像正在将字符串输入到文本框中。我的代码的主要问题似乎是 thread.sleep 不会为每个单独的字符而睡眠,而只是整个应用程序。例如,如果我用字符串“hello”调用sub,它将停止100毫秒,然后TextBox将立即显示“hello”。
Sub typeOut(ByVal toType As String)
toType = toType.ToCharArray()
For Each letter As Char In toType
TextBox2.Text = TextBox2.Text + letter
Threading.Thread.Sleep(100)
Next
End Sub
感谢您的帮助!
【问题讨论】:
-
您正在让 UI 线程休眠,然后才能显示新字符。
-
@Plutonix 我该如何解决这个问题?
-
在循环中尝试
TextBox2.Refresh -
@Plutonix 谢谢,在我看到这个之前就想通了!
-
更好的方法是完全不在 UI 线程上
Sleep()。如果你可以使方法Async,它会更干净Await Task.Delay(100)