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;

}