在.NET中,一个Control是属于一个特定的线程的。如果要在另外一个线程中访问这个Control的Handler(其实,Control的很多属性都会访问到Control的Handler)。.NET 或 操作系统会抛出一个异常。
但是,某些时候我们必须这样使用。微软已经在.NET Framework中为我们包装好了方法,供我们使用:
public Control.Invoke ( method, params [] args )
|
和
Visual Basic (Declaration)
|
Public ReadOnly Property InvokeRequired As
|
Visual Basic (Usage)
|
Dim instance As Control Dim value As value = instance.InvokeRequired
|
public Control.InvokeRequired { get; }
|
通过InvokeRequired属性,我们可以判断特定的Control是否属于当前线程。如果该属性返回真,我们就必须使用Control.Invoke方法,将访问逻辑发送到Control所属的线程里运行。
powered by performancing firefox
相关文章:
-
2022-12-23
-
2022-12-23
-
2022-12-23
-
2021-05-01
-
2021-12-19
-
2021-05-18
-
2022-02-06