这是我在这里的第一篇文章,所以我希望能够成为安博我的问题柠明确。使用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) 。 –