ListBox DataSource赋值

时间:2013-05-22 06:06:47

标签: c# datasource backgroundworker hang

我这里有一个ListBox的桌面应用程序,它将接受超过10,000的记录(目录及其子目录中的文件)。当我为其DataSource分配超过50,000的DataTable时,即使它位于DoWork的{​​{1}}内,也会使用户界面挂起,因此,我也挂起了BackgroundWorker表示ProgressBar中数据分配的进度。

我还使用方法here来避免交叉线程,同时分配其ListBoxDisplayMember但仍然会挂起。

以下是代码:

ValueMember

1 个答案:

答案 0 :(得分:1)

您要显示的项目数量对于Windows来说太大了。如果你需要这个并且不想实现某种分页,我建议在VirtualMode中使用ListView控件。有关详细信息,请参阅此链接:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.virtualmode.aspx