0

私は .net の初心者ですが、リストボックスが表示されるまでに非常に長い時間がかかるという問題に遭遇しました。

これは Java では同じではありません (所要時間は非常に短く、最大 1 秒です)。

それで、これに対する救済策はありますか??、他のフォームコントロール??、または他の方法??

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
4

1 に答える 1

1

人間はこの量のデータを一度に処理できないため (コントロールが処理するかどうかに関係なく)、ページングをサポートするコントロールが必要です。

DataGrid をそのように使用する 1 つの方法を次に示します。この質問も参照してください。

于 2012-06-24T21:19:10.367 に答える