做WinForm开发,常遇到加载数据需要较长时间的情况,为了得到较好的用户体验,一般需要在前台做一个加载的图标、进度条等,标识数据正在加载中,今天总结一下,常用方法有:
1.System.ComponentModel.BackgroundWorker
System.ComponentModel.BackgroundWorker backgroundWorker = new BackgroundWorker();
FormLoading formloading = new FormLoading();
backgroundWorker.DoWork += delegate(object bgsender, DoWorkEventArgs bge)
{
//加载数据
};
backgroundWorker.RunWorkerCompleted += delegate(object bgsender, RunWorkerCompletedEventArgs bge)
{
formloading.Close();
};
backgroundWorker.RunWorkerAsync();
formloading.ShowDialog();
2.Thread
另起线程.......
3.Timer
轮询检查是否加载结束。如果加载结束则关闭加载标识