< 返回技术文档列表

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

发布时间:2021-09-01 01:41:27⊙投诉举报

这期内容当中小编将会给大家带来有关VB.NET中如何使用事件通道,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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. ===调用===       

  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. }   

转换后的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===调用===  

  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中如何使用事件通道了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注血鸟云行业资讯频道。


/template/Home/Zkeys/PC/Static