0

我正在开发一个打开后立即连接到数据库的应用程序。有时,在连接数据库文件之前大约需要 10-15 秒,在此之前,没有加载任何控件,它只是加载一个空白窗口并且光标显示正在工作。我尝试使用这个库来使用动画 GIF,但在尝试 DB 连接之前它没有加载它。我正在使用 SQL Server Express 并连接到 mdf 文件。我尝试放置代码以显示SqlConnection 和 SqlDataAdapter 对象<image/>之前的内容,但即使这样也无济于事。任何建议,将不胜感激。提前致谢。

4

1 回答 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 回答