先看一个小例子:C#客户端打开一个控件,控件中加载了好多数据大约要用5秒中,如果我们直接打开控件,那么这个控件就要5秒中才能弹出来,当然这个时候用户已经把他Kill了。这个时候我们就需要先给用户把控件UI加载出来,给出来一个假象,然后数据在后台加载就OK了。具体看一下怎么做。
首先在面板中加载一个BackgroundWorder组件,然后在加载窗体中时注册几个事件:
1.BackgroundWorder启动事件。就是加载后台5秒中代码;BackgroundWorder.DoWork事件;
2.BackgroundWorder加载中事件。这个事件可以写当前的加载进度,或者错误事件;BackgroundWorder.ProgressChanged事件;
3.BackgroundWorder结束事件。就是数据加载完毕做什么事情或者异步出错给出提示什么的,
BackgroundWorder.RunWorkerCompleted事件。