VB.NET中怎么实现异步调用

这篇文章给大家介绍VB.NET中怎么实现异步调用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

VB.NET异步调用代码示例:

private delegate Sub (()sub  (or Function )()function) dele_1      private dele_2 as dele_1     private iasyync_test as IAsyncResult     在form_load里面     Private Sub Form1_Load()Sub   Form1_Load(ByVal sender As   System.Object, ByVal e As   System.EventArgs) Handles   MyBase.Load     dele_2 = New dele_1(AddressOf   test1) 'test1 是你想要异步调用的方法     iasync_test=dele_2.begininvoke  (nothing,nothing) '开始异步调用     End Sub

如果想知道VB.NET异步调用是否完成,加个button。

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

  2. If iasync.IsCompleted = 
    True Then '已经完成调用  

  3. dele_2.endinvoke(iasync)  

  4. Else '未完成  

  5. MessageBox.Show("not finished!")  

  6. End If   

  7. End Sub 

另外你也可以自己写个回掉函数,在VB.NET异步调用完成的时候进行别的操作。

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

  2. dele_2 = New dele_1(AddressOf test1) 
    'test1 是你想要异步调用的方法  

  3. dim ab as asynccallback  

  4. ab=new asynccallback(address of
     back_test) 'back_test是要进行回掉的函数  

  5. iasync_test=dele_2.begininvoke
    (ab,nothing) '开始异步调用  

  6. End Sub  

  7. private Sub back_test()sub back_test()  

  8. '想进行的操作。  

  9. dele_2.endinvoke(iasync_test)  

  10. end sub 

关于VB.NET中怎么实现异步调用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。