在一个窗体form2有:public void ThreadWriteMsgToTextBox(string strMessage)那么form1在一个自定义的用户控件上调用ThreadWriteMsgToTextBox(string strMessage)那在一这自定义的用户控件是不是这样写:form2 frm=new form2();
frm.ThreadWriteMsgToTextBox("输出信息:"+strMessage);
这样写,对吗?
如果对了,为什么在窗体form2上的TextBox没有输出呢?

解决方案 »

  1.   

    from2中public void ThreadWriteMsgToTextBox(string strMessage)方法对textbox赋值时要用委托实现。
      

  2.   

    form2 frm=new form2();
    frm.Text="输出信息:"+strMessage;
      

  3.   

    在ThreadWriteMsgToTextBox(string strMessage)方法 里
    用了委托实现在ThreadWriteMsgToTextBox(string strMessage){DelegateThreadWriteMsgToTextBox delegateWmt = new DelegateThreadWriteMsgToTextBox(WMsgToTextBox);}还是不行啊
      

  4.   

    问题在这里:这是你新创建的窗口,不是你要改的那一个窗口。改成:form2 frm=Parent as form2;
    frm.ThreadWriteMsgToTextBox("输出信息:"+strMessage);
      

  5.   

    按你说的还是不行,老弹出未将对象引用设置到对象的实例(注意form2是弹出的子窗体)
      

  6.   

    你这段代是放哪里的,是在form里面的“自定义控件”上吗?