1. 程式人生 > 其它 >VB 多播委託

VB 多播委託

 Dim DelegetSub1 As testDelegetSub = New testDelegetSub(AddressOf testDelegateSub2)
    Dim DelegetSub2 As testDelegetSub = New testDelegetSub(AddressOf testDelegateSub3)
    Dim DelegetSub3 As testDelegetSub = System.Delegate.Combine(DelegetSub1, DelegetSub2)
Private Sub Button5_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button5.Click DelegetSub3() '先呼叫DelegetSub1、DelegetSub2 DelegetSub3 = System.Delegate.Remove(DelegetSub3, DelegetSub1) '移除DelegetSub3 中的DelegetSub1 再賦值給DelegetSub3 DelegetSub3() '其實是隻呼叫DelegetSub2 DelegetSub3 = System.Delegate.Remove(DelegetSub3, DelegetSub1) '
已經移除過DelegetSub1 但不會報錯 DelegetSub3 = System.Delegate.Remove(DelegetSub3, DelegetSub2) If DelegetSub3 Is Nothing Then MessageBox.Show("DelegetSub3此委託為空不能呼叫") Else DelegetSub3() ' DelegetSub3裡面為空時呼叫會報錯 所有要先判斷 End If End Sub

Private Sub testDelegateSub2() MessageBox.Show(
"委託測試成功111!!!") Me.Text = "委託測試成功111!!!" End Sub Private Sub testDelegateSub3() MessageBox.Show("委託測試成功222!!!") End Sub