类间变量使用问题
在From1中textBox1中的内容赋给了字符串filename;
在From2中我想使用filename
(此时Form1已关闭)
我的方法是在From2中新声明了一个From1对象 form11;
然后赋给string filen=form11.filename;
可监视变量filen 显示为null
请问该如何调用?
------解决方案--------------------第一个Form1的实例已经关闭,新生成一个是没有办法得到它的实例信息的,可以采用静态变量来保存,或者采用另一个全局唯一的类来保存这些信息(我更喜欢采用这种方法)。
------解决方案--------------------1.创建一个类,里面有一个静态属性如:
public class infoClass
{
private static string userID= " ";
public static string UserID
{
get
{return userID;
}
set
{
userID=value;
}
}
这个infoClass.UserID可以在任何一个窗口里面使用。
2.寫在xml的配置文件中
------解决方案--------------------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();
}
}
------解决方案--------------------一般都是采用静态全局变量