代码如下
1.新建一个类
Public Class Class1
Public Event mytest()
Public Sub main()
For i As Long = 1 To 1000
RaiseEvent mytest()
Next
End Sub
End Class
2.新建一个窗体和按钮
Imports System.Threading
Public Class Form2
Public WithEvents x As New Class1
Dim y As Long = 1
Private Sub x_mytest() Handles x.mytest
Debug.WriteLine(y.ToString)
y += 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Dim Tasks As New Class1()
'Dim Thread1 As New System.Threading.Thread(AddressOf Tasks.main)
x.main()
End Sub
End Class
问题:当代码是x.main()时,及时窗口会显示1到1000,现在注释调x.main换成上面被注释代码后,及时窗口无响应了,请高手指点
------解决思路----------------------
你把回调事件注册给x了,你也应该在线程里执行x.main,而不是Tasks