我在看Control.BeginInvoke方法,当它说:
在创建控件的基础句柄的线程上异步执行委托.
什么是control's underlying handle?它有什么作用?
控件具有"线程关联性" - 这意味着需要它们仅由创建它们的线程(通常称为UI线程)直接操作(或甚至检查,除了一些特定属性,除外InvokeRequired).该手柄是简单的操作系统控制和.NET控件之间的抽象.
这实际上是在Windows消息循环上放置一条消息,由UI线程(拥有该控件)获取,从而导致在UI线程上调用您的委托.这意味着它可以与控件通信.如果您当前在后台线程(可能是异步回调或BackgroundWorker),并且需要更新UI,这将非常有用.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |