我正在开发一个打开后立即连接到数据库的应用程序。有时,在连接数据库文件之前大约需要 10-15 秒,在此之前,没有加载任何控件,它只是加载一个空白窗口并且光标显示正在工作。我尝试使用这个库来使用动画 GIF,但在尝试 DB 连接之前它没有加载它。我正在使用 SQL Server Express 并连接到 mdf 文件。我尝试放置代码以显示SqlConnection 和 SqlDataAdapter 对象<image/>
之前的内容,但即使这样也无济于事。任何建议,将不胜感激。提前致谢。
问问题
697 次
1 回答
0
在不同的线程上执行所有加载过程,最好的方法是使用 BackgroundWorker
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
初始化 bw.WorkerSupportsCancellation = true; bw.WorkerReportsProgress = true; bw.DoWork += 新 DoWorkEventHandler(bw_DoWork);
用法 private void bw_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker;
for (int i = 1; (i <= 10); i++)
{
if ((worker.CancellationPending == true))
{
e.Cancel = true;
break;
}
else
{
// Perform a time consuming operation and report progress.
System.Threading.Thread.Sleep(500);
worker.ReportProgress((i * 10));
}
}
}
于 2013-08-17T15:15:46.157 回答