2021-11-24 WinFrom面试题 Winform中如何跨线程修改控件的值?

Posted 微软MVP Eleven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-11-24 WinFrom面试题 Winform中如何跨线程修改控件的值?相关的知识,希望对你有一定的参考价值。

因为Winform应用程序是单线程的。对于某一个控件来说,只有创建该控件的线程才能修改它的值。对Winform来说,在窗体中拖一个控件,它由程序的主线程创建。因而,如果我们又另开一个线程,那么如果我们想要在这个线程中直接去修改该控件的值,就会报错。

那么如果,我们仍然想要改控件的值,该如何做呢?

我们可以通过,在这个子线程中,通过this.Invoke() 或 this.BeginInvoke()的方式通过执行委托的方式,在委托里去修改,就可以。

代码如下:

This.Invoke(new Action(()=>

Label1.Text=”您好!”;

));

以上是关于2021-11-24 WinFrom面试题 Winform中如何跨线程修改控件的值?的主要内容,如果未能解决你的问题,请参考以下文章

2021-11-24 WinFrom面试题 DevExpress Winform 如何实现单选按钮?

2021-11-24 WinFrom面试题 怎么设置StatusStrip控件中项之间的分隔线?

2021-11-24 WinFrom面试题 在DevExpress中,如何修改SimpleButton的背景色?

2021-11-24 WinFrom面试题 如何根据提供的值列表,设置CheckedListBox中项的勾选状态?

2021-11-24 WinFrom面试题 如何设置MenuStrip控件中菜单项的快捷键?

2021-11-24 WinFrom面试题 Winform中如何跨线程修改控件的值?