.net线程中操作主窗体控件

所属分类:[Asp.Net] | 发表于:2010-2-3 18:05:41 | 人气(414)

群里的一个朋友问到了这个问题,就是在.net线程中操作主窗体控件,要报线程出错,其实这是.net为了安全,所以不充许直接在线程中操作主线程。所以我们可以通过委托来进行操作,如下:

EXFCODE:
delegate void SetTextCallBack(string text);//定义一个委托
void SetText(string text)
{
    if (liDate.InvokeRequired)//如果主线程中的liDate在使用
    {
        SetTextCallBack call = new SetTextCallBack(SetText);//实例化委托
        Invoke(call, new string[] { text });//通过主程来进行调用委托的事件,并传送相关参数
    }
    else
    {
        liDate.Text = text;//写值
    }
}
//在线程中调用方法
SetText("你要设置的值");//线程中调用

0    0