可以从一个form中设置数据,从另一个form中取出数据
解决方案 »
- .NET中如何判断"=>"代表什么呢?
- 如何在C#中在现有的窗体里打开已存在的窗体
- 面试汇丰银行海外项目经理要怎么准备?
- 如何用NETWORK SERVICE帐户构建WindowsIdentity实体对象?
- 用什么类型来接收sql server返回的datetime值?
- 高分求助:如何在datagrid中提取IIS系统信息
- TableAdapter问题
- Aspx页面.怎么用表格批量输入?高分悬赏
- C# 做应用程序保存参数回到主画面报“System.ObjectDisposedException”类型的异常出现
- 【急,在线等】电脑分辨率变化时,picturebox不随着FORM变化,肿么办呢?
- 为什么提示System.Array并不包含对Array的定义?
- 表格被充开啦
public class a
{
public static string temp;
....
}//读取
a.temp = "aaa";
get{}来实现。
pubic class test1
{
public static string str = "";public void test1()
{
this.str = "this is test!!"
}}public class test2
{
string ss = test1.str // 可以用类直接调用你的静态变量,很方便,
}
如果是MDI窗体的话貌似两种都用比较好
看看这篇文章 对你的东西应该有帮助
使用静态类该方式可以简单的理解为静态变量全局共享,通过下面代码能够比较清楚的理解,先来定义静态类,
public static class ParameterSettings
{
//公共静态变量
public static string Username = "Zhengzuo";
//私有静态变量
private static string userRole = "Administrators";
//私有静态变量
private static string password = "http://blog.csdn.net/zhzuo";
//内部属性
internal static string UserRole
{
get { return userRole; }
}
//公共属性
public static string Password
{
get { return password; }
private set { password = value; }
}
}
这个静态类的定义我不知道你们自己编译过了没有,为什么我在VS环境中编译对public static class ParameterSettings 这句提示这样的错误:修饰符"static"对该项无效?(另外还有个错误:private set { password = value; } 这句不能这么用)作者提到对这个类的访问
在需要访问的地方通过以下方式进行,
string username = ParameterSettings.Username;
string password = ParameterSettings.Password;
string userRole = ParameterSettings.UserRole;
ParameterSettings.Username = "郑佐";//修改成新用户名
我要的就是这样的效果,在哪里都能对这个类的属性值赋值,同时在任何地方都能访问当前的属性值
还可以有sealed abstract ,属性的付值,也没有什么private 吧。只能说是password 在定义时用private
利用Singleton(单件)模式可以得到单一实例,并且提供了一个全局访问点,
例如:public class Singleton
{
private Singleton _singleton; /// <summary>
/// 私有构造器,这样可以使得客户类不能通过New 构造器实例化类
/// </summary>
private Singleton()
{
}
/// <summary>
/// 共有静态方法,创建单一实例,此方法非线程安全
/// </summary>
/// <returns></returns>
public static Singleton CreateInstance()
{
if (_singleton == null)
{
_singleton = new Singleton();
}
return _singleton;
}
} public class TestClient
{
public static void Main()
{
Singleton s1 = Singleton.CreateInstance();
Singleton s2 = Singleton.CreateInstance(); if (s1.Equals(s2))
{
Console.WriteLine("s1 equals s2");
} }
}
{
// private Singleton _singleton; 错误的地方
//应改为
private static Singleton _singleton;
/// <summary>
/// 私有构造器,这样可以使得客户类不能通过New 构造器实例化类
/// </summary>
private Singleton()
{
}
/// <summary>
/// 共有静态方法,创建单一实例,此方法非线程安全
/// </summary>
/// <returns></returns>
public static Singleton CreateInstance()
{
if (_singleton == null)
{
_singleton = new Singleton();
}
return _singleton;
}
} public class TestClient
{
public static void Main()
{
Singleton s1 = Singleton.CreateInstance();
Singleton s2 = Singleton.CreateInstance(); if (s1.Equals(s2))
{
Console.WriteLine("s1 equals s2");
} }
}
能不能帮忙再详细一点,在你的这个类里面加上属性,如何去访问设置这些属性?
{
static int a1;
public static int A1
{
get { return a1; }
set { a1=value; }
}
static a()
{
a1=3;
}
}
静态构造函数不允许有访问修饰符、不允许有访问修饰符。执行的时间也是不却定的,但能保证你调用其成员时已经执行,且只会执行一次!
不知是不是楼住想要的答案!
使用静态类该方式可以简单的理解为静态变量全局共享,通过下面代码能够比较清楚的理解,先来定义静态类,
public static class ParameterSettings
{
//公共静态变量
public static string Username = "Zhengzuo";
//私有静态变量
private static string userRole = "Administrators";
//私有静态变量
private static string password = "http://blog.csdn.net/zhzuo";
//内部属性
internal static string UserRole
{
get { return userRole; }
}
//公共属性
public static string Password
{
get { return password; }
private set { password = value; }
}
}
为了验证这段代码,我专门安装了VS 2005. 虽然编绎通过了没有问题,但还是没有满足我的要求。写个很简单的例子:public class form1: System.Windows.Forms.Form
{
public form1()
{
ParameterSettings.Username = "aaaaaaaa";
}
}
public class form1: System.Windows.Forms.Form
{
public form1()
{
MessageBox.Show(ParameterSettings.Username);
}
}
在form2中ParameterSettings.Username根本就不是form1中设置的值。我需要在一个form中设置值,在其它的form中访问,怎么办?
上面提到 跨窗体取值 可以使用公有属性,如:Form2 f=new Form2();
f.ShowDialog();
x=f.aaa;
public class login: System.Windows.Forms.Form
{ public string username=""
public form1()
{
}
//登陆
username=textBox1.Text.ToString();
Form2 f2=new Form2();
f2.form2Name=username;//username的值传给form2Name,在Form2中可以访问}
public class Form2: System.Windows.Forms.Form{ public string form2Name;
public Form2()
{ }}
{
private static string _StaticTest; public static string globalVariables
{
get{return this._StaticTest;}
set{this._StaticTest=value;}
}
}访问的时候:
MessageBox.Show(Global.globalVariables);