TJVictor的专栏

只有不断进步才会越来越强

郭勇成ID:tjvictor
68762次访问,排名1451好友2人,关注者9
一直专注于.NET的程序开发,虽然水平不怎么样。哈哈。
tjvictor的文章
原创 37 篇
翻译 0 篇
转载 17 篇
评论 43 篇
TJVictor(天天进步)的公告
欢迎光临我的博客,请大家多多指教,发表评论。
最近评论
renguixue:楼主麻烦能给发一份DEMO么
我是初学者,怎么也搞不出来,谢谢
xue00000ren@163.com
agjyfm:wow gold
gaozhiling1999:不错 ,学习中
xxlxjq:楼主,您好!
请问在Zedgraph 的 bar中,如何在每个baritem的上方显示 Y轴的值,谢谢了!
flyingstarwb:恩,不错~
文章分类
收藏
相册
tjvictor
学习.NET知识常用网站
.NET的相关插件
ASP.NET FAQ
C# 开源资源大全
CodeProject
Windows Forms FAQ
资源网站大全
代码秀网站
实用建站代码大全
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 windows form (窗体) 之间传值小结收藏

新一篇: 如何判断键盘按下了哪个值? | 旧一篇: 怎么在thread中打开一个窗体

windows form之间传值,我总结了有四个方法:全局变量、属性、窗体构造函数和delegate

第一个全局变量:

这个最简单,只要把变量描述成static就可以了,在form2中直接引用form1的变量,代码如下:

form1中定义一个static变量public static int i= 9 ;

Form2中的钮扣按钮如下:

private void button1_Click(object sender, System.EventArgs e)

{

    textBox1.Text = Form1.i.ToString();

}

 

第二个方法是利用属性,请详见我的博客:

http://blog.csdn.net/tjvictor/archive/2006/06/04/772711.aspx

 

第三个方法是用构造函数:

Form1 的button按钮这样写:

private void button1_Click(object sender, System.EventArgs e)

{

    Form2 temp = new Form2( 9 );

    temp.Show();

}

 

Form2 的构造函数这样写:

public Form2( int i )

{

    InitializeComponent();

    textBox1.Text = i.ToString();

}

 

第四个方法是用delegate,代码如下:

Form2中先定义一个delegate

public delegate void returnvalue( int i );

public returnvalue ReturnValue;

form2 中的button按钮代码如下:

private void button1_Click(object sender, System.EventArgs e)

{

    if ( ReturnValue != null )

        ReturnValue( 8 );

}

 

Form1中的button按键如下:

private void button1_Click(object sender, System.EventArgs e)

{

    Form2 temp = new Form2( );

    temp.ReturnValue = new temp.Form2.returnvalue( showvalue );

    temp.Show();

}

 

private void showvalue( int i )

{

    textBox1.Text = i.ToString();

}

 

点击form2的button,form1中的textbox中的值就会相应变化。

 

在这四个方法中,

第一个是双向传值,也就是说,form1和form2改变i的值,另一方也会受到影响。

第二个方法可以单向也可以双向传值。

第三个方法是form1->form2单向传值。

第四个方法是form2->form1单向传值。

 

以后有新的方法我再补充,还有一个就是用event,和delegate差不多,在这里就不说了。

发表于 @ 2006年06月23日 10:10:00|评论(loading...)|编辑

新一篇: 如何判断键盘按下了哪个值? | 旧一篇: 怎么在thread中打开一个窗体

评论

#supergirl_1019 发表于2007-05-15 11:20:12  IP: 202.108.162.*
不错哦!
辛苦啦!
#xunuo512 发表于2007-11-09 15:46:55  IP: 116.21.60.*
不错,谢谢楼主!!!辛苦了!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © TJVictor(天天进步)