這是我在這裏的第一篇文章,所以我希望能夠成爲安博我的問題檸明確。使用Task類在VB.NET異步
我目前使用數據庫,並在一些八邑,我遇到由於數據的入賬金額一些問題的延遲。 我想要的是,當我按MainForm中的按鈕來調用單獨的任務,需要一種方法填充另一種形式的組合框,然後顯示該窗體。
下面是代碼:
Private Sub PopulateCmb()
For Each value As Integer In servRefrence.PopulateID_Masini
Form_Insert.ComboBox1.Items.Add(value)
Next
<<This is taking 3-4 seconds>>
End Sub
Private Async Sub BtnInsert_Click(sender As Object, e As EventArgs) Handles BtnInsert.Click
Dim task As Task = New Task(New Action(AddressOf PopulateCmb))
task.Start()
LblInfo.Text = "Please Wait"
Await task
LblInfo.Text = "Idle"
Form_Insert.Show()
End Sub
這種方法:servRefrence.PopulateID_Masini返回了來自Web服務器的整數列表...
這段代碼的問題是,當任務完成後,Form_Insert內的組合框返回空!
我缺少什麼?......我想也許是因爲你不能使用一個任務的MainForm內(前),並嘗試在第二個形式「修改」一些數據......但我不知道......
==我使用Visual Studio 2012 ==模板:Visual Basic中
請幫幫忙!
謝謝!!!
[你不應該永遠使用'Task'構造(https://blog.stephencleary.com/2014/05/a-tour-of-task-part-1-constructors.html) 。 –