【发布时间】:2012-06-24 20:29:45
【问题描述】:
我是 .net 新手,我遇到了一个问题,即列表框需要很长时间才能显示出来。
这在 java 中是不一样的(花费的时间非常少 - 最多一秒)。
那么,有什么补救办法吗??,任何其他的表单控件??,或其他方式??
imports System.Threading
imports System.Windows.Forms
Class form1
Inherits Form
Public d As Object() = New Object(400000) {}
Private lb As ListBox
Public Sub New()
lb = New ListBox()
Controls.Add(lb)
End Sub
Public Sub update_list()
For i As Integer = 0 To 400000
d(i) = i
Next
lb.DataSource = d
End Sub
Public Shared Sub main()
Dim fobj As New form1()
Dim t As New Thread(AddressOf fobj.ShowDialog)
t.Start()
Dim t2 As New Thread(AddressOf fobj.update_list)
t2.Start()
End Sub
End Class
【问题讨论】:
-
我不在 vb.net 中,但注意到 update_list 中从 0 到 400000 的计数器可能是问题
-
你的意思是延迟可能在 for 循环中???...如果是,我不这么认为,它定义在 'lb.DataSource = d'
-
是的,可能是在调用 d(i) = i next i 时
-
不,不能这样......通过在'lb.DataSource = d'之前和之后放置console.writelines来检查它。你会看到这是导致延迟的原因