我们知道,在winform中进行跨线程操作,如果处理不好则会出现界面卡顿、“线程间操作无效: 从不是创建控件的线程访问它“等问题,在此提供跨线程操作界面方法,可以很好解决相关问题。
一、 通过设置UI控件的Invoke和BeginInvoke方法实现更新,在子线程中调用如下函数更改主界面控件。代码如下:
public void SetText(string text )
{
if (this.textBox.InvokeRequired) //这里是想要操作的控件
{
SetTextCallBack d = new SetTextCallBack(SetText);
this.Invoke(d, new object[] { text });
}
else
{
//this.textBox.Text += text;
this.textB

本文详细介绍了在WinForm应用中处理跨线程操作界面的方法,包括使用Invoke和BeginInvoke、禁用线程间操作检查、BackgroundWorker以及通过SynchronizationContext的Post/Send方法,以解决界面卡顿和线程安全问题。
最低0.47元/天 解锁文章
2011

被折叠的 条评论
为什么被折叠?



