您的位置:首页 > 其它

自动处理跨线程的相关操作-及异步调用方式

2013-09-26 19:31 246 查看
------------------------------------------------------------------------------------
--------------------自动处理跨线程的相关操作-及异步调用方式----------------------------
#region 异步执行方法 /// <summary>
/// 异步调用方式
/// </summary>
void AsyncMethod(object argObj = null)
{
_delegateMethod1 = ExecByAsync;
_delegateMethod1.BeginInvoke(argObj, DoneCallBack, _delegateMethod1);
}
DelegateMethod _delegateMethod1;//实例化委托
delegate bool DelegateMethod(object argObj);//声明委托 /// <summary>
/// 回调函数
/// </summary>
void DoneCallBack(IAsyncResult asyncResult)
{
_delegateMethod1.EndInvoke(asyncResult);
} /// <summary>
/// 异步执行的方法
/// </summary>
bool ExecByAsync(object argObj)
{
//do something..
return true;
} #endregion /// <summary>
/// 更新进度(自动处理跨线程的相关操作)
/// </summary>
private void Setlbl(object argMsg)
{
if (lblDealWithProgress.InvokeRequired)
{
var callBack = new InvokeCallBack1(Setlbl);
lblDealWithProgress.Invoke(callBack, new[] { argMsg });
}
else
lblDealWithProgress.Text = argMsg.ToString();
} private delegate void InvokeCallBack1(object argMsg);
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐