关于在c# winform 中定义全局变量的问题

请教在Form1 定义了如下一个全局变量。 public static class GlobalParams
{
public static string User = "abcd";
}

我如何在另外一个form2 或.cs中访问到GlobalParams.User的值呢? 搞了半天没解决。不知原因何在。 用form1 a = new from1(); a. 根本找不到GlobalParams 怎么办?

C#中是没有所谓的全局变量的.要构造出类的属性作为全局变量
可以在GlobalParams 写:
public static string user = ""; //定义变量
public GlobalParams ()
{
user ="abcd";//赋值构造
}
public string User
{
get
{
return user ;
}
set
{
user =value;
}

这样就可以其他窗体访问此User
MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"abcd"

GlobalParams frm=new GlobalParams ();
frm.User="efg"; //修改该静态变量的值

MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"efg"
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-14
C#中是没有所谓的全局变量的.要构造出类的属性作为全局变量
可以在GlobalParams 写:
public static string user = ""; //定义变量
public GlobalParams ()
{
user ="abcd";//赋值构造
}
public string User
{
get
{
return user ;
}
set
{
user =value;
}

这样就可以其他窗体访问此User
MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"abcd"

GlobalParams frm=new GlobalParams ();
frm.User="efg"; //修改该静态变量的值

MessageBox.Show (GlobalParams .User); //直接访问. 显示.结果:"efg"本回答被网友采纳
相似回答