Control 已经有public   IAsyncResult   BeginInvoke,方法,你又写一个 BeginInvoke方法是什么意思? 另外,报什么错。

解决方案 »

  1.   

    如1楼所说,Control已经有BeginInvoke方法了
    出错是正常的,lz实现的BeginInvoke方法,根本没有把委托Post到Control的工作线程lz不要在事件处理里面有Invoke或BeginInvoke的话,就在引发事件的地方Invoke或BeginInvoke(也就是ddd方法)
      

  2.   

    我没有使用Control 的继承,我不要Control中的方法,BeginInvoke是我做的一个外部函数。
    如何把委托Post到外部的工作线程?
      

  3.   

    那就在你的BeginInvoke方法里面调用Control.BeginInvoke方法
      

  4.   

    不懂你的意思,什么叫Post到外部的工作线程。。
      

  5.   

    如果非常不喜欢Invoke和BeginInvoke,可以用WindowsFormsSynchronizationContext
      

  6.   

    myEve(sender,   a); 就是触发委托事件了,
    貌似楼主在弄异步调用,可以参照一下MSDN上面的“异步委托”
      

  7.   

    vwxyzh 朋友
    能够给出WindowsFormsSynchronizationContext的用法么?
    给出WindowsFormsSynchronizationContext.Current.Post()部分的就可以。
    谢谢了