16,555
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Button1.Enabled = False
For i = 0 To 100
Me.ProgressBar1.Value = i
Await Task.Delay(123)
Next
Me.Button1.Enabled = True
End Sub
End Class
注意使用到 async/await 编程技术,那么 vb.net 编译器会自动处理主线程、子线程切换问题,就不需要你考虑 Invoke 语句了!Me.ProgressBar1.Invoke(Sub()
Me.ProgressBar1.Value = 90
End Sub)
这样的代码。关键是要理解“不在 UI 主线程执行”的道理。