的确逻辑混乱。在线程最后调用一个方法通知主线程。

解决方案 »

  1.   


    可是刚才有人说,线程调用的委托和方法都是线程的,属于线程执行方法中代码该怎么写呢?
      

  2.   

    主线程内用没问题,在子线程下用会出错
    最简单的方法是把这个错误改了
      

  3.   


    子线程完成之后,在回到主线程?
    不明白你的意思,最好能把问题描述的更清楚一些
      

  4.   

    异步委托,  #region 线程  private delegate void GetFunctionDelegate(string 参数); //声明委托  private bool GetFunction(string 参数) //假设返回bool值
      {
      //这里做忙碌的动作
      }  public void RunGetFunction(string 参数)//这个被调用
      {
      GetFunctionDelegate d = GetFunction;
      d.BeginInvoke(参数, new AsyncCallback(EndGetFunction), d);
      }  private void EndGetFunction(IAsyncResult ar) //回调
      {
      if (InvokeRequired)
      BeginInvoke(new AsyncCallback(EndGetFunction), ar); //重复
      else
      {
      GetFunctionDelegate d = (GetFunctionDelegate)ar.AsyncState;
      //d.EndInvoke(ar) 这个就是返回值  }
      }
      #endregion
      

  5.   


    问题是主程序不是我开发的,我只是做二次开发。
    所以子线程出错我也没办法