日期:2014-05-19  浏览次数:20953 次

请问下面的简单代码是什么意思,能实现什么功能?谢谢!
.............  
if   (this.lbl_right.InvokeRequired)
{
          SetTextCallback   d   =   new   SetTextCallback(SetText2);
          this.Invoke(d,   new   object[]   {   text   });
  }
...........................

------解决方案--------------------
根据条件,调用委托
具体不好说,因为你的代码不全

------解决方案--------------------
异步操作,可以让它执行代码——而程序这时候可以去处理其他的事情去了。

不用管返回结果。
------解决方案--------------------
Callback 么 大概是回调函数
------解决方案--------------------
异步操作?


这是个Control的派生类。

这段代码是让这个类的这个方法可以在非创建这个对象的线程中调用。

参阅:Control.Invoke方法。


楼主麻烦下次至少说这是什么类!。
------解决方案--------------------
根异步没有关系

异步委托提供以异步方式调用同步方法的能力。当同步调用一个委托时,Invoke 方法直接对当前线程调用目标方法。如果编译器支持异步委托,则它将生成 Invoke 方法以及 BeginInvoke 和 EndInvoke 方法。如果调用 BeginInvoke 方法,则公共语言运行库将对请求进行排队并立即返回到调用方。将对来自线程池的线程调用该目标方法。提交请求的原始线程自由地继续与目标方法并行执行,该目标方法是对线程池线程运行的。如果已经对 BeginInvoke 指定了回调,当目标方法返回时将调用它。在回调中,使用 EndInvoke 方法来获取返回值和输入/输出参数。如果没有对 BeginInvoke 指定回调,则可以在提交请求的原始线程上使用 EndInvoke。


------解决方案--------------------
Study~~
------解决方案--------------------
你可以去MSDN看看Control.InvokeRequired 和Invoke方法的含义就可以了