Form中线程中更新UI

     开发工具的时候,需要在某个按钮的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();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,617评论 18 399
  • #Android 基础知识点总结 ---------- ##1.adb - android debug bridg...
    Mythqian阅读 8,954评论 2 11
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,917评论 0 17
  • “若白呀,不是我说你,你刚刚是不是有点太冷了,你看看你把人家吓的。”庭皓。 若白:“不是我,是你。” ...
    杨洋一笑绝色倾城阅读 2,593评论 0 2

友情链接更多精彩内容