温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-20 11:40:16 来源:亿速云 阅读:130 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关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中如何使用事件通道了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI