在From1中textBox1中的内容赋给了字符串filename;
在From2中我想使用filename
(此时Form1已关闭)
我的方法是在From2中新声明了一个From1对象 form11;
然后赋给string filen=form11.filename;
可监视变量filen 显示为null
请问该如何调用?

解决方案 »

  1.   

    第一个Form1的实例已经关闭,新生成一个是没有办法得到它的实例信息的,可以采用静态变量来保存,或者采用另一个全局唯一的类来保存这些信息(我更喜欢采用这种方法)。
      

  2.   

    1.创建一个类,里面有一个静态属性如:
    public class infoClass
    {private static string userID="";
    public static string UserID
    {
    get
    {return userID;
    }
    set
    {
    userID=value;
    }
    }
    这个infoClass.UserID可以在任何一个窗口里面使用。2.寫在xml的配置文件中
      

  3.   

    from1.close()但是还没有from1.dispose()时filename的值还存在dispose后,那个对象就被摧毁了,你再次实例化的时候,此from1已经不是彼from1了关于这点,你应该继续好好的学习面向对象程序设计的理论。
    根据我对你问题描述的理解,你可以这样解决
    public class form2 : from
    {
      private string filen;
      //...
      //Other Codes
      //...
      private void btn_click(object sender,eventargs e)//假设按下btn按钮时打开from1
      {
        form1 frm = new from1();
        frm.Show();
        filen = frm.filename;
        frm.Dispose();
      }
    }public class from1 : from
    {
      public string filename;
      //...
      //Other Codes
      //...
      private void btn_click(object sender,eventargs e)//假设按下btn按钮时关闭from1
      {
        filename = textBox1.Text;
        this.Close();
      }
    }
      

  4.   

    谢谢诸位,asdf311(gloomyvagrant) 是按着我的思路写的,但我发现zhoufoxcn(周公)与forgot(忘记forgot2000) 的方法解决这个问题更妥当,不过还是谢谢asdf311(gloomyvagrant)!
      

  5.   

    呵呵没注意看forgot(忘记forgot2000)的代码,菜鸟问题,辛苦大家了!