a线程创建了b线程
b线程创建了formb ,并用showdialog方式显示
现在需要a线程向formb发消息,请问能不能做到?

解决方案 »

  1.   

    线程a,线程b共同 维护一个form: m_form;
    线程a启动另一个线程b,这个线程b的工作,就是实例化m_form,并调用m_form.show()
    我想在线程a中关闭线程b实例化的m_form;
    所以在m_form中有一个托管function :myclose
    这个function就是调用 close但是发现线程a中调用
    m_form.myclose;
    根本不顶事,这是为什么?
      

  2.   

    进行安全线程调用,你现在是在跨线程调用,会引发很多问题的,总之不安全。
    你试一下这个,可能可以的。至少我原来用过时可以的。
    在一个代理的方法里写这个
    if(this.invokedrequested)
    {
    this.invoke(myclose,new object[]{.......});
    }
      

  3.   

    都能够进行程序间通信,何况统一程序中的不同线程了,可以使用委托来进行吧,如果牵涉到界面的话,最好能够使用线程本身的Invoke来进行。