在线程中执行代码

王朝学院·作者佚名  2016-05-20
窄屏简体版  字體: |||超大  

在线程中执行代码说明:支持跨线程访问控件。

定义代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Threading;namespace PackageOperMgr.util{ /// <summary> /// 跨线程访问控件的委托 /// </summary> public delegate void InvokeDelegate(); /// <summary> /// 跨线程访问控件类 /// </summary> public class InvokeUtil { /// <summary> /// 跨线程访问控件 /// </summary> /// <param name="ctrl">Form对象</param> /// <param name="de">委托</param> public static void Invoke(Control ctrl, InvokeDelegate de) { if (ctrl.IsHandleCreated) { ctrl.BeginInvoke(de); } } /// <summary> /// 在线程中执行代码 /// </summary> public static void ExecuteCode(Control ctrl, InvokeDelegate de) { new Thread(new ThreadStart(delegate() { InvokeUtil.Invoke(ctrl, de); })).Start(); } }}

View Code如何使用:

InvokeUtil.ExecuteCode(this, new InvokeDelegate(delegate(){ //这里写您要执行的代码 string s = "aa" + "bb"; //例子 NextBtn.Enabled = false; //例子}));

View Code

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航