【发布时间】:2010-09-22 06:15:00
【问题描述】:
我认为标题几乎抓住了我的问题,但有一点背景:
当我加载一个表单时,它会将几千个(30k 奇数)个对象添加到绑定列表中。当我的应用程序第一次加载时,它需要几秒钟(大约 10 秒左右的内存)才能循环遍历对象列表并使用 add 函数将其添加到 BindingSource 中。但是,当这种情况发生在具有相同加载代码的后续表单上时,只需一两秒钟。
所以我的查询是:
1. 为什么 BindingList(Of T) 没有 AddRange 成员?
2. 使用 AddRange 函数会更快地进行初始和后续添加吗?
3. 知道为什么一个版本的代码运行速度比相同版本慢吗?
感谢您提供的任何帮助。
【问题讨论】:
-
应用程序加载时是否正在加载表单?这可能是缓慢的原因吗?
-
经过很长时间,我终于找到了 DataGridView DefaultRowTemplate ContextMenuProperty 的一个(不确定是否是唯一的)问题。设置后,当我将项目添加到底层 BindingSource 时,它会增加相当多的时间。
-
为了将来参考,我使用“有效地使用快捷菜单”遇到了这个msdn.microsoft.com/en-us/library/ha5xt0d9.aspx。我已经吸取了教训。
标签: vb.net data-binding bindinglist