当前位置:   article > 正文

跨线程更改窗体的属性_如果窗口不属于与调用线程相同的进程,则无法更改此属性

如果窗口不属于与调用线程相同的进程,则无法更改此属性

在一个winform程序中可能会启动一个线程去对进行窗体变化

这就关系到跨线程调用资源的问题,

有两个解决办法:

第一个办法:

在构造函数里面添加(虽然简单,但是不安全,不推荐使用)

Control.CheckForIllegalCrossThreadCalls = false;

第二个方法,使用委托的方法

用到了两个lamda表达式。

 Thread th = new Thread(() => {
                while (true)
                {
                    lab1.Invoke(new MethodInvoker(() => {
                        lab1.Text = DateTime.Now.ToString();
                    }));         
                }
            });
            th.IsBackground = true;
            th.Start();



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/449436
推荐阅读
相关标签
  

闽ICP备14008679号