1. 定义线程 2. 定义委托函数
VB.NET 多线程操作步骤/例程
Dim Thread_Process As System.Threading.Thread()
进程运行过程中不可直接对控件进行操作,可通过定义并构造委托函数的形式操作控件
Sub Thread_SetLVText(ByVal SetString As String, ByVal Obj As TextBox)
3. 构造委托函数/过程
Sub SetLVTxt(ByVal SetString As String, ByVal Obj As TextBox) Dim OTemp As Textbox OTemp = Obj
OTemp.Text = SetString
End Sub
4. 构造线程过程
Private Sub ExampleThreading()
…同一般过程…
5. 调用委托函数/过程
a) 封装在子过程/函数中,方便调用
Sub SetLVTxt_Invoke(ByVal SetString As String, ByVal Obj As TextBox) Dim Obj_GetText As New Thread_SetLVText(AddressOf SetLVTxt) Invoke(Obj_GetText, SetString, Obj)
End Sub
End Sub
b) 直接在进程过程中调用
Dim Obj_GetText As New Thread_SetLVText(AddressOf SetLVTxt) Invoke(Obj_GetText, “abc”, TextBox1)
6. 启动新线程
注意给进程赋值时”Address of”后面接线程过程名!!!
Thread_Process(i) = New System.Threading.Thread(AddressOf ExampleThreading) Thread_Process(i).SetApartmentState(Threading.ApartmentState.STA)
Thread_Process(i).Start()