1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Public Class Form1
Private Delegate Sub work()
Private mydelegate As work
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AddHandler BackgroundWorker1.DoWork, AddressOf StartWorking
AddHandler BackgroundWorker1.RunWorkerCompleted, AddressOf EndWorking
BackgroundWorker1.RunWorkerAsync()
mydelegate = New work(AddressOf ToBeinvokeD)
End Sub
Public Sub StartWorking()
Dim i As Integer = 0
Invoke(mydelegate)
While i < 1000
'Mes calculs
End While
End Sub
Public Sub EndWorking()
MessageBox.Show("Fin de mon thread")
End Sub
Public Sub ToBeinvokeD()
MessageBox.Show("Invoked")
End Sub
End Class |
Partager