windows form (窗体) 之间传值小结

原创 2006年06月23日 10:10:00

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差不多,在这里就不说了。

相关文章推荐

windows form (窗体) 之间传值小结

在windows form之间传值,我总结了有四个方法:全局变量、属性、窗体构造函数和delegate。第一个全局变量:这个最简单,只要把变量描述成static就可以了,在form2中直接引用form...

WPF几何绘图(二)画矩形

 绘制矩形的时候需要使用RectangleGeometry类,代码实例如下:RectangleGeometry myRectangleGeometry = new RectangleGeometry(...
  • wwei466
  • wwei466
  • 2009年03月09日 11:06
  • 12077

关于WPF的Button 的click事件调用 code UI 代码的示例(有益于快速的自动化)

Code UI的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; u...

form窗体之间传值

  • 2014年12月25日 15:35
  • 46KB
  • 下载

Visual Studio 中两个窗体(WinForm)之间相互传值的方法

编写WinowsForm应用程序时,实现两个窗体之间相互传递值的方法其实很简单。以下用一个例子说明:在名为FormMain主窗体运行过程中利用名为FormInfo窗体,获取用户输入信息,并将这些信息返...

简单的Form窗体间传值

  • 2011年05月12日 13:36
  • 44KB
  • 下载

Iframe窗体之间相互传值

  • 2013年09月06日 13:05
  • 1KB
  • 下载

Javascript 两个窗体之间传值实现代码

javascript中还有一个函数window.showModalDialog也可以打开一个新窗体,不过他打开的是一个模态窗口,那么如何在父窗体和子窗体之间传值呢?我们先看该函数的定义:vReturn...

两窗体之间传值

  • 2013年07月05日 09:04
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows form (窗体) 之间传值小结
举报原因:
原因补充:

(最多只允许输入30个字)