private delegate bool AsyncProcessHandler();
private AsyncProcessHandler ProcessHandler = null;
异步的实现函数(将下面代码直接拷贝到你程序中,黄色的部分是需要修改的):
public IAsyncResult BeginProcess(AsyncCallback callback, object state) {
try {
this.ProcessHandler = new AsyncProcessHandler(this.BeginCopy);
//this.BeginCopy就是异步的执行函数,在该函数中调用你的异步程序,该函数为自定义函数,定义如下面
return this.ProcessHandler.BeginInvoke(callback, state); }
catch (Exception e) {
throw e; } }
public void EndProcess(IAsyncResult asyncResult) {
try {
if (this.ProcessHandler != null) {
if (asyncResult.IsCompleted) {
异步正常完成之后需要添加的代码,比如弹出完成的提示,如下面语句 MessageBox.Show(\"异步完成!\", \"提示\", MessageBoxButtons.OK); } else {
异步非正常完成的处理代码 }
this.ProcessHandler.EndInvoke(asyncResult); this.ProcessHandler = null; } }
catch (Exception e) {
throw e; } }
private bool BeginCopy() {
//异步程序 return true;
}
异步程序的进入:
在某个函数中添加代码如下,this.BeginProcess(new AsyncCallback(this.EndProcess), null); 程序从这个地方就进入异步执行
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务