【发布时间】:2017-08-02 06:11:09
【问题描述】:
这是我在这里的第一篇文章,所以我希望能非常明确地说明我的问题。
目前我正在使用数据库,并且在某些时候,由于数据量很大,我遇到了一些延迟问题。
我想要的是,当我按下 MainForm 中的一个按钮来调用单独的 Task 时,该 Task 采用一种方法来填充另一个表单中的组合框,然后显示该表单。
代码如下:
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 正在返回来自网络服务器的整数列表...
这段代码的问题是,当任务完成时,Form_Insert 中的组合框变空了!
我错过了什么??...我认为可能是因为您无法使用 mainForm 中的任务(例如),并尝试以第二种形式“修改”某些数据...但是我不确定……
==我正在使用 Visual Studio 2012== 模板:Visual Basic
请帮忙!
谢谢!!!
【问题讨论】:
标签: .net vb.net visual-studio-2012 async-await