本文实例讲述了C#实现跨线程操作控件方法,分享给大家供大家参考。具体实现方法如下:
由于在.net平台下Winform、wpf禁止跨线程直接访问控件,因此在必须跨线程访问控件的时候采用异步方式。
1、winform项目中跨线程访问控件:
编写一个Winform小实例:在做winform项目中,有时为了将系统运行的状态实时显示到Form中,因此添加一个RichTextbox控件实时显示系统运行日志。本例实现的操作是将日志以字符串的形式写入RichTextbox控件,因为是实时显示,所以涉及到跨线程输入的问题。
代码如下:
private delegate void setRichTexBox(string s); public void setText(string txt) { if (this.t_revmsg.InvokeRequired)//等待异步 { setRichTexBox fc = new setRichTexBox(Set); this.Invoke(fc, new object []{ txt}); } else { this.t_revmsg.AppendText(txt); } } private void Set(string txt) { t_revmsg.AppendText(txt); }
本文地址:https://www.stayed.cn/item/317
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我