c# 跨线程访问控件

c# 跨线程访问控件,第1张

用委托,具体代码如下~:

public delegate void MyInvoke(string str)

private void button9_Click(object sender, EventArgs e)

{

//_myInvoke = new MyInvoke(SetText)

//CheckForIllegalCrossThreadCalls = false

Thread t = new Thread(new ThreadStart(fun))

t.Start()

}

private void fun()

{

//_myInvoke("dddd")

SetText("ddd")

}

private void SetText(string s)

{

if (textBox6.InvokeRequired)

{

MyInvoke _myInvoke = new MyInvoke(SetText)

this.Invoke(_myInvoke, new object[] { s })

}

else

{

this.textBox6.Text = s

}

}

this.thread.Abort()将线程加到关闭队列中

this.thread.Join()等待线程关闭

如果你的对象是在线程里创建的,应该会自动释放,如果是全局的,应该自己手动释放。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/808787.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-30
下一篇2023-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存