用backgroudworker,这是个专门应对你说的这种问题的一个组件,MSDN中有解释,挺简单的。
另外还有一种方法就是用设计模式中的代理模式。
执行太长肯定要加多线程,但是有的需求不允许,需要用户等待,这样只能提示些友好的信息,如正在加载或执行中。但最好是锁定当前的操作,让其后台执行,使用多线程,让用户还可以做其它的操作,不然就死了。
new Thread(()=>{
button.Enable = false;
//DoWork;
button.Enable = true;
}).Start();
目前这个问题我还是使用多线程吧!其他的不知道有没有好方法。
和安装向导类似,下一步,下一步,Finish。