16,554
社区成员
发帖
与我相关
我的任务
分享
Invoke(New EventHandler(AddressOf ShowInfo))
Private Sub ShowInfo()
End Sub
Me.Invoke(Sub() TextBox1.Text = "123")//这样委托调用就好了
//当然你线程并没有写成后台线程还是会阻塞窗体线程,所以你要设置一下background属性
mythread.BackGround=True//大小写和拼写错误没有验证自己去验证,而且需要在start方法调用前设置,否则无效。
Imports System.Threading
PublicClass Form1
Dim mythread As Thread
PrivateDelegateSub VoidShow(ByRef i As Int32) '定义要委托的类型
PrivateSub Button1_Click(sender AsObject, e As EventArgs) Handles Button1.Click
mythread = New Thread(AddressOf ShowNumber)
mythread.Name = "myShowNumber"
mythread.Start()
EndSub
PrivateSub ShowNumber()
Dim i As Int32
For i = 0 To 123451
'TextBox1.Text = i
Me.Invoke(New VoidShow(AddressOf TureShowNumber), i) '用New构造委托,再用Invoke执行
Next
mythread.Abort()
EndSub
'新加入的被委托要做的事
PrivateSub TureShowNumber(ByRef i As Int32)
TextBox1.Text = i
EndSub
PrivateSub Button2_Click(sender AsObject, e As EventArgs) Handles Button2.Click
TextBox2.Text = "终于出现奇迹"
EndSub
EndClass
Imports System.Threading
PublicClass Form1
Dim mythread As Thread
PrivateDelegateSub VoidShow(ByRef i As Int32) '定义要委托的类型
PrivateSub Button1_Click(sender AsObject, e As EventArgs) Handles Button1.Click
mythread = New Thread(AddressOf ShowNumber)
mythread.Name = "myShowNumber"
mythread.Start()
EndSub
PrivateSub ShowNumber()
Dim i As Int32
For i = 0To123451
'TextBox1.Text = i
Me.Invoke(New VoidShow(AddressOf TureShowNumber), i) '用New构造委托,再用Invoke执行
Next
mythread.Abort()
EndSub
'新加入的被委托要做的事
PrivateSub TureShowNumber(ByRef i As Int32)
TextBox1.Text = i
EndSub
PrivateSub Button2_Click(sender AsObject, e As EventArgs) Handles Button2.Click
TextBox2.Text = "终于出现奇迹"
EndSub
EndClass
Me.Invoke(Sub() TextBox1.Text = "123")