C#实现跨线程操作控件方法

学习笔记 2020/12/16 C#

本文实例讲述了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

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。