c#跨线程改变控件属性

假如c是窗体里面的一个控件
为啥想要改变c的Visible属性必须要
Action act=()=>{c.Visible=false;};
c.Invoke(act);
而不能直接c.Visible
还有这个代码是什么意思啊
Action act=()=>{c.Visible=false;};
c.Invoke(act);

c#

2个回答

action是一个没有参数没有返回值的委托。
界面更新必须用invoke交给ui线程自己操作,否则会存在同步问题,导致界面死锁或程序崩溃。

意思就是在c窗体的创建线程里,执行act 委托方法。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问