在《多线程加委托实现等待窗体(loading正在加载界面),运行超时可以取消操作》一文中使用到了多线程编程,在这里做个笔记。
我们继续使用《再谈委托——同步、异步、Lambda 表达式和内置委托》一文的示例代码为本文示例。原文中使用异步委托调用同步方法,即:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'暂时移除Button1按钮点击事件
RemoveHandler Button1.Click, AddressOf Button1_Click
'******************************************
Dim method As MethodInvoker = Sub()
'模拟长时间工作代码
For i As Integer = 0 To 100
'模拟长时间工作
Threading.Thread.Sleep(100)
'显示工作进度
Dim Actiondelegate As Action(Of Integer) = Sub(int)
Me.Label1.Text = int.ToString & "%"
End Sub
Me.Label1.Invok