比如
Form2 _new_Form= new Form2();
_new_Form.Show();然后在_new_Form中操作原来得Form

解决方案 »

  1.   

    Form2 _new_Form= new Form2(this);
    _new_Form.Show();Form2.cs
    Form1 FM;
    void Form2(Form1 Fm)
    {
    FM=Fm;
    }
    然后操作FM 即可.
      

  2.   

    传递引用是基本的方法,但似乎很多情况下都需要事件来进行通信。可以把form1和fom2想像成完全独立的实体。虽然form2是form1上弹出来的,但本质上并不意味着他们天生就有什么联系。它们其实是独立的对象。他们之间的通信用delegate或event似乎更恰当一些。
      

  3.   

    用2楼得方法还是不行啊,无法访问Form1里边的控件啊
    比如FM.txt_Name
    根本访问不到啊
      

  4.   

    你需要把那个需要引用的控件访问级设为Public
      

  5.   

    Form1.cs
    Form2 frm=new Form2(this);
    frm.show();
    Form2.cs
    private Form1 parentForm=null;
    Form2(Form1 f);//构造函数
    {
          parentForm=f;
    }
    然后对parentForm操作就好了啊!
      

  6.   

    所有控件都是private的,想要用传参数的方法,必须改成public,但是这样会破坏类的封装性,所以用delegate来做是正确的,在delegate中要操作UI控件必须是异步调用,就是用invoke或begininvoke。不知道你明白了没。
      

  7.   

    不知道tjvictor(初学者)能不能说清楚一点,来点例子吧
    期待。
      

  8.   

    tjvictor正解!例子在05msdn里面有.   关于 调用别的线程创建的控件 那里有详细的例子!