【发布时间】:2013-02-08 09:36:11
【问题描述】:
我有一个运行不同值的方法,该方法进入数据库,检索值并逐行填充gridview。
每次调用都需要一些时间,并且屏幕会冻结,直到进程完成。我喜欢在方法运行且不冻结屏幕的情况下在gridview 中显示值。
我尝试了类似下面的方法,它仍然会冻结屏幕,并且在处理完成之前我看不到网格上的值。
如果我在循环中使用它,我不想使用 Application.Doevents 在网格中显示数据。
感谢您的帮助
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim t = New Threading.Thread(AddressOf MyWork)
t.Start()
End Sub
Private Sub MyWork()
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf DoWork))
End If
End Sub
Private Function DoWork() As Boolean
For i As Integer = 1 To 1000000
FillGrid(i)
Next
End Function
【问题讨论】:
标签: .net vb.net winforms multithreading .net-4.0