美文网首页
Form中线程中更新UI

Form中线程中更新UI

作者: 朱株 | 来源:发表于2016-05-17 18:40 被阅读2次

     开发工具的时候,需要在某个按钮的click事件中循环处理事宜,然后每条处理结果需要反馈在UI界面上。

     如果循环时间很长,很容易界面出现卡死情况。

     因此想到的就是新建一个线程,然后在线程中通过委托去更新UI界面上的内容。代码如下,以便以后查阅。

    //创建一个委托,是为访问TextBox控件服务的。

    public delegate void UpdateTxt(String  msg);

    //定义一个委托变量

    public UpdateTxt updateTxt;

    //修改TextBox值的方法。

public void UpdateTxtMethod(String msg)

{

rbSesultAll.Text = msg;

}

//线程中触发更新UI界面

public void ThreadMethodTxt()

{

while (!exit)

{

//业务

this.BeginInvoke(updateTxt, outstring);

Thread.Sleep(100);

}

}

//初始化

updateTxt = new UpdateTxt(UpdateTxtMethod);

//启动线程

Thread objThread = new Thread(new ThreadStart(delegate

{

ThreadMethodTxt();

}));

objThread.Start();

相关文章

网友评论

      本文标题:Form中线程中更新UI

      本文链接:https://www.haomeiwen.com/subject/pjvirttx.html