溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET中如何使用事件通道

發(fā)布時間:2021-07-20 11:40:16 來源:億速云 閱讀:137 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘PVB.NET中如何使用事件通道,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

C#代碼示例如下:

  1. public delegate void showMsg    

  2. EventHandler(string msg);       

  3. class msg       

  4. {       

  5. public event showMsgEvent  
    Handler showMsgEvent;     
    public string execMsg(string msg)       

  6. {       

  7. if (showMsgEvent != null)       

  8. {       

  9. showMsgEvent(msg + "," +   
    DateTime.Now.ToString());       

  10. }       

  11. return string.Empty;       

  12. }       

  13. }       

  14. ===調(diào)用===       

  15. int i = 3;       

  16. msg[] myMsg;       

  17. private void button2_Click  
    (object sender, EventArgs e)       

  18. {       

  19. myMsg = new msg[i];       

  20. for(int j=0;j<i;j++)       

  21. {       

  22. myMsg[j]=new msg();       

  23. myMsg[j].showMsgEvent +=new   
    showMsgEventHandler(Form3_  
    showMsgEvent);       

  24. }       

  25. }       

  26. void Form3_showMsgEvent  (string msg)       

  27. {       

  28. MessageBox.Show(msg);       

  29. }       

  30. private void button3_Click  
    (object sender, EventArgs e)       

  31. {       

  32. for (int j = 0; j < i; j++)       

  33. {       

  34. myMsg[j].execMsg("good "   
    + j.ToString());       

  35. }       

  36. }   

轉(zhuǎn)換后的VB.NET事件通道代碼:

  1. Delegate Sub showMsgEventHandler
    ()Sub showMsgEventHandler
    (ByVal msg As String)  

  2. Class msgClass msg  

  3. Public name As String  

  4. Event msgEvent As showMsg
    EventHandler  

  5. Public Sub showMsg()Sub showMsg
    (ByVal msg As String)  

  6. MsgBox(msg + DateTime.Now.
    ToString() + " ," + name)  

  7. End Sub  

  8. End Class===調(diào)用===  

  9. Dim i As Integer = 0 

  10. Dim myContain As New List(Of msg)  

  11. Private Sub Button2_Click(
    )Sub Button2_Click(ByVal sender 
    As System.Object, ByVal e As 
    System.EventArgs) Handles Button2.Click  

  12. For i = 0 To 3 Step 1  

  13. Dim myMsg As New msg  

  14. myMsg.name = "name" & i.ToString()  

  15. myContain.Add(myMsg)  

  16. AddHandler myMsg.msgEvent, 
    New showMsgEventHandler(AddressOf 
    responseMsg)  

  17. Next i  

  18. End Sub  

  19. Private Sub responseMsg()Sub 
    responseMsg(ByVal msg As String)  

  20. MsgBox(msg)  

  21. End Sub  

  22. Private Sub Form1_Load()Sub Form1_Load
    (ByVal sender As System.Object, ByVal 
    e As System.EventArgs) Handles MyBase.Load  

  23. End Sub  

  24. Private Sub Button3_Click()Sub 
    Button3_Click(ByVal sender As 
    System.Object, ByVal e As System.
    EventArgs) Handles Button3.Click  

  25. For i = 0 To 3 Step 1  

  26. Dim myMsg As New msg  

  27. myMsg = myContain.Item(i)  

  28. myMsg.showMsg("good ")  

  29. Next i  

  30. End Sub 

上述就是小編為大家分享的VB.NET中如何使用事件通道了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI