2024年5月2日发(作者:)
方法一:
C#中没有了像中的全局变量,那么我们如何实现在不同的页面间传递参
数呢?
下面举例说明如何实现这一功能.
1.新建一个项目.
2.在该工程中添加一个窗体Form1.
3.在该窗体中定义静态型字符串变量myTestStr1:
public static string myTestStr1="";
4.在该窗体的构造函数中对该变量进行赋值,并为该窗体类添加属性
GetStrValue.
public Form_Form1()
{
InitializeComponent();
myTestStr1="Hello!";
}
public string GetStrValue
{
get
{
return myTestStr1;
}
set
{
myTestStr1=value;
}
}
5.在该工程中另添加一个窗体Form2.
6.在Form1窗体上添加一个button按钮(name:but_Test);
7.在Form1窗体的but_Test_Click 事件中添加以下代码:
private void but_Test_Click(object sender, rgs e)
{
Form2 frm1=new Form2();
alog(this) ;
();
}
8.在Form2窗体上添加一个button按钮(name:but_Yes);
9.在Form1窗体的but_Yes_Click 事件中添加以下代码:
private void but_Yes_Click(object sender, rgs e)
{
(Form_Str1 ); //直接访问. 显示.结果:"
Hello!"
Form_Form1 frm2=new Form_Form1();
Value ="How do you
do?"; //生成一个新的实例对该静
态变量进行操作(修改该静态变量的值).
(Value ); //通过该实例
的内部成员对它进行访问 .显示.结果: How do you do?"
(Form_Str1 ); //直接访问. 显示.结果:"
How do you do?"
}
方法二:
进入VS2005后,大家可以发现子窗体操作父窗体不能沿用2003下的方法:把父
窗体的空间访问属性由private改为已经把控 件声明这部分代码隐
藏了,所以只有采用更加对象一点的方法。
父窗体与子窗体间的参数传递我采用的步骤如下:
1 父窗体中声明一个静态的父窗体类型的临时对象
public static frmFather frmFatherTemp;
2 父窗体构造函数中对该变量赋值
public frmFather()
{
InitializeComponent();
frmFatherTemp = this;
}
3 把要传递的参数设置为父窗体的一个属性,并设置访问器。访问其的set方法
中进行了参数与父窗体控件绑定的操作。
private string testValue;
public string TestValue
{
get
{
return testValue;
}
set
{
lue = value;
= value;
}
发布评论