【发布时间】:2014-12-16 10:57:57
【问题描述】:
我需要一些帮助来解决我无法解决的问题。
我有一个带有大量数据的 DataGridView 的 Windows 窗体。 此数据存储在 SQL Server 数据库中,并由一段简单的 ADO.NET 代码检索。
我已经在使用 BackGroundWorker 类来执行这种操作,但表单仍然冻结 1-2 秒。
有没有办法延迟表格的显示?仅在加载所有数据时才像显示表单一样?我试图让它不可见或使用 Hide() 和 Show() 方法但仍然没有任何结果。
【问题讨论】:
-
向我们展示您的工人代码。
-
嗨,莫。谢谢你的回答。 BackGroundWorker 的代码非常简单。我调用一个填充绑定列表并将其设置为我的 DataGridView 的 DataSource 的方法。
-
您可能不想等到数据加载完毕再显示表单。用户看到一个空的表单然后被填充,而不是让他们想知道为什么屏幕上什么都没有出现。
-
可能。就我而言,完美的解决方案是这样的:按下按钮,初始化表单,用加载的数据填充表单/datagridview,显示表单。花了大约2秒。在那个时候,我想在一个新线程中显示一个“请稍候......”表单。
-
为什么数据量大?为什么不是基于某些搜索条件的有限集合?