我这里有一个ListBox
的桌面应用程序,它将接受超过10,000的记录(目录及其子目录中的文件)。当我为其DataSource
分配超过50,000的DataTable
时,即使它位于DoWork
的{{1}}内,也会使用户界面挂起,因此,我也挂起了BackgroundWorker
表示ProgressBar
中数据分配的进度。
我还使用方法here来避免交叉线程,同时分配其ListBox
和DisplayMember
但仍然会挂起。
以下是代码:
ValueMember
答案 0 :(得分:1)
您要显示的项目数量对于Windows来说太大了。如果你需要这个并且不想实现某种分页,我建议在VirtualMode中使用ListView控件。有关详细信息,请参阅此链接:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.virtualmode.aspx