.net的ListBox数据(大)需要太多时间才能显示出来

时间:2012-06-24 20:29:46

标签: .net vb.net listbox

我是一个.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

1 个答案:

答案 0 :(得分:1)

您需要一个支持分页的控件,因为人类无法一次处理这么多数据(无论控件是否这样做)。

Here是以这种方式使用DataGrid的一种方式。另请参阅this question