如何仅在加载数据时显示表单?

时间:2014-12-16 10:57:57

标签: c# .net winforms ado

我需要一些我无法解决的问题的帮助。

我有一个带有DataGridView的Windows窗体,其中填充了大量数据。 此数据存储在SQL Server数据库中,并由一段简单的ADO.NET代码检索。

我已经在使用BackGroundWorker类来执行这种操作,但表单仍然会冻结1-2秒。

有没有办法延迟表格的显示?只有在加载所有数据时才显示表单?我试图让它不可见或使用Hide()和Show()方法,但仍然没有任何结果。

2 个答案:

答案 0 :(得分:1)

我找到了一个简单的解决方法。 将BackGroundWorker的修饰符更改为public。 创建表单实例,运行Form.CreateControl()并调用BackGroundWorker.RunWorkerAsync()方法。 在DoWork事件中,我提出了:数据检索和控件填充(DataGridView,组合框和文本框)。 在RunWorkerCompleted中只是Form.Show()方法。 就这样。这是一个很好的解决方案吗?

答案 1 :(得分:0)

从表单的构造函数中删除InitializeComponent();,并在加载数据时调用此方法

相关问题