1 / 11
文档名称:

C实现窗体与窗体的传值.doc

格式:doc   大小:22KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C实现窗体与窗体的传值.doc

上传人:260933426 2022/1/25 文件大小:22 KB

下载得到文件列表

C实现窗体与窗体的传值.doc

相关文档

文档介绍

文档介绍:WinForm窗体间传值的方法
这篇文章主要介绍了WinForm窗体间传值的方法,包括了静态变量、公共变量、共有属性等方式,是非常实用的技巧,需要的朋友可以参考下
本文实例讲述了WinForm窗体间传值的方法。分享给大家供大家参考。;
//取到Form1的值是1
( .ToString ( ) );
//给Form1的Form1Value赋值222
= 222;
 六、
说明::获取属于应用程序的打开窗体的集合。(此属性在 .NET )
 
实现代码如下:
在窗体Form1中
复制代码 代码如下:
public int Form1Value = 1;
Form2 f2 = new Form2 ( );
( );
在窗体Form2中
复制代码 代码如下:
string formName = "Form1";
Form fr = [ formName ];if ( fr != null )
{
Form1 f1 = ( Form1 ) fr;
//取到Form1的值是1
( ( ) );
//给Form1的Form1Value赋值222
= 222;
}
 七、传参式传值
此方法顾名思义就是将需要的值一参数形式传递给需要值的窗体
例子:
Form1:
复制代码 代码如下:
private void button1_Click(object sender, EventArgs e)
{
new Form2("来自Form1").Show();
}
Form2:
复制代码 代码如下:
public Form2(string value)
{InitializeComponent();
(vaue);
}
此种窗体间传值方法明显优与第一种的传值参数,也不会出现串数据现象,但是需要注意修改Form2的构造函数,每个窗体的默认构造函数默认都是无参数的,因此需要去修改构造函数。 八、通过构造函数
特点:传值是单向的(不可以互相传值),实现简单
 
实现代码如下:
在窗体Form2中
复制代码 代码如下:
int value1;
string value2;
public Form2 ( int value1 , string value2 )
{
InitializeComponent ( );
= value1;
= value2;
}
在窗体Form1中这样调用
复制代码 代码如下:
new Form2 ( 111 , "222" ).Show ( ); //这样就把111,"222",这2个值传送给了Form2
 九、用委托来实现。
委托可以把一个方法作为参数带入另一个方法,在窗体传值中,子窗体需要执行一个方法来改变父窗体的值,
而这个方法,则可以用委托从父窗体传递过来。在父窗体中,声明修改文本框的方法AfterChildChange,在new一个子窗体的时候,将这个方法传递给子窗体。那么当子窗体点击同步按钮时,会执行父窗体的AfterChildChange方法,已达到修改文本框值的目的。
 
例子
1、在子窗体中设置一个委托类型的属性:
复制代码 代码如下:
public Action<string> AfterChangeTextDel { get; set; }
2、在子窗体同步按钮中:
复制代码 代码如下:
if (AfterChangeTextDel != null)
{
AfterChangeTextDel();//执行委托
}
3、在父窗体中添加方法:
复制代码 代码如下:
public void AfterChildChange(string text)
{
= text;
}
4、在父窗体启动子窗体按钮:
复制代码 代码如下:
ChildFrm frm =new ChildFrm();
= new Action<string>(t