可是比如我从一个FORM1 点到另一个FORM2后了,在FORM中NEW FORM1就是原来的FORM1了啊

解决方案 »

  1.   

    //Form1 button click
    Form1 frm1 = new Form1();
    frm1.MyData = "Test Data";//Form1
    private string myData = string.Empty;
    public string MyData
    {
    get{return this.myData;}
    set{this.myData = value;}
    }
      

  2.   

    大家帮忙解决一下这个问题,谢谢了...............
    http://community.csdn.net/Expert/topic/5581/5581312.xml?temp=.2317163
      

  3.   

    一、直接用静态对象保存数据。
    二、2005里面可以用Application.OpenForms["Formname"].变量 来访问。
    三、通过反射调用已实例化的窗体对象。
      

  4.   

    string frm = "Form2";
                for (int i = 0; i < Application.OpenForms.Count; i++)
                {
                    if (Application.OpenForms[i].Name == frm)
                    {
                        return;
                    }
                }
                System.Reflection.Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();
                Type typForm = ass.GetType( "testDLL."+frm );
                if( typForm == null ) return;
                Form frmTest = typForm.InvokeMember( null,BindingFlags.DeclaredOnly |BindingFlags.Public | BindingFlags.NonPublic |BindingFlags.Instance | BindingFlags.CreateInstance,null,null,null ) as Form;            if( frmTest == null ) return;
                else
                {
                    frmTest.Name=frm;
                    frmTest.Show();
                }
      

  5.   

    最簡單的方法,直接傳過去
    eg:Form1中  form2 f2 = new form2(m_dataLayer);
      f2.showDialog();  Form2中   private string str;
       public Form2(string m)
       {
        InitializeComponent();
        str = m;    }