使用CheckForIllegalCrossThreadCalls的风险

时间:2014-01-03 08:42:03

标签: c# .net multithreading

使用Form1.CheckForIllegalCrossThreadCalls = false有什么风险?如果我决定使用Thread来达到表单控件?

2 个答案:

答案 0 :(得分:1)

所以你可能会做“非法的跨线程调用”并且不会被警告。行为未定义,您的应用程序将随机崩溃(如果您幸运的话)。

避免在不同的线程上使用相同的可变对象实例。要处理多线程应用程序中的GUI对象,请参阅:How to update the GUI from another thread in C#?

答案 1 :(得分:0)

如果您需要使用Thread来访问表单控件,那么您应该考虑使用Control.Invoke方法。您可以找到Control.Invoke here

的文档