这篇文章给大家介绍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。
Private Sub Button2_Click()Sub
Button2_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
Button2.Click
If iasync.IsCompleted =
True Then '已经完成调用
dele_2.endinvoke(iasync)
Else '未完成
MessageBox.Show("not finished!")
End If
End Sub
另外你也可以自己写个回掉函数,在VB.NET异步调用完成的时候进行别的操作。
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 是你想要异步调用的方法
dim ab as asynccallback
ab=new asynccallback(address of
back_test) 'back_test是要进行回掉的函数
iasync_test=dele_2.begininvoke
(ab,nothing) '开始异步调用
End Sub
private Sub back_test()sub back_test()
'想进行的操作。
dele_2.endinvoke(iasync_test)
end sub
关于VB.NET中怎么实现异步调用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。