第一范文网 - 专业文章范例文档资料分享平台

C# WinForm窗体间传值(总结)

来源:用户分享 时间:2025/6/5 5:47:10 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1.通过构造函数

特点:传值是单向的(不可以互相传值),实现简单

实现代码如下:

在窗体Form2中 int value1; string value2;

public Form2 ( int value1 , string value2 ) {

InitializeComponent ( ); this.value1 = value1; this.value2 = value2; }

在窗体Form1中这样调用

new Form2 ( 111 , \).Show ( ); //这样就把111,\这2个值传送给了Form2

2.通过静态变量

特点:传值是双向的,实现简单

实现代码如下:

在一个app类中定义一个静态成员value

public class app {

public static string value; }

在窗体Form1中这样调用

app.value = \ //给静态成员赋值

new Form2 ( ).Show ( ); //显示Form2

在窗体Form2中

this.Text = app.value; //取回app.value的值

app.value = \ //给app.value赋值,以便其他窗体调用

3.通过窗体的公有属性值

特点:实现简单

实现代码如下:

在窗体Form2中定义一个公有属性Form2Value,获取和设置textBox1的文本值

public string Form2Value {

get {

return this.textBox1.Text; } set {

this.textBox1.Text = value; } }

在窗体Form1中这样调用

Form2 f2 = new Form2 ( );

f2.Form2Value = \ //给Form2的textBox1赋值Ok

f2.ShowDialog ( );

4.通过窗体的公有属性值和Owner属性

特点:实现简单,灵活

实现代码如下:

在窗体Form1中

public int Form1Value = 1;

Form2 f2 = new Form2 ( );

f2.ShowDialog ( this ); //把Form1作为Form2的所有者传递给Form2

在窗体Form2中

//Form2的所有者是Form1

Form1 f1 = ( Form1 ) this.Owner;

//取到Form1的值是1

MessageBox.Show ( f1.Form1Value .ToString ( ) );

//给Form1的Form1Value赋值222

f1.Form1Value = 222;

5.通过窗体的公有属性值和Application.OpenForms属性

说明:Application.OpenForms属性:获取属于应用程序的打开窗体的集合。(此属性在 .NET Framework2.0版中)

实现代码如下:

在窗体Form1中

public int Form1Value = 1;

Form2 f2 = new Form2 ( );

f2.Show ( );

在窗体Form2中

string formName = \

Form fr = Application.OpenForms [ formName ];

if ( fr != null ) {

Form1 f1 = ( Form1 ) fr;

//取到Form1的值是1

MessageBox.Show ( f1.Form1Value.ToString ( ) );

//给Form1的Form1Value赋值222

f1.Form1Value = 222; }

6.通过事件

实现代码如下:

在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值

并且还定义一个accept事件

public string Form2Value {

get

{

return this.textBox1.Text;

}

set

{

this.textBox1.Text = value;

} }

public event EventHandler accept;

private void button1_Click ( object sender , EventArgs e ) {

if ( accept != null ) {

accept ( this , EventArgs.Empty ); //当窗体触发事件,传递自身引用 } }

在窗体Form1中

Form2 f2 = new Form2 ( );

f2.accept += new EventHandler ( f2_accept );

f2.Show ( );

void f2_accept ( object sender , EventArgs e ) {

//事件的接收者通过一个简单的类型转换得到Form2的引用

Form2 f2 = (Form2) sender;

//接收到Form2的textBox1.Text

this.textBox1.Text = f2.Form2Value; }

分类: C# WinForm

搜索更多关于: C# WinForm窗体间传值(总结) 的文档
C# WinForm窗体间传值(总结).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0ckvp3f7li0fvam2h1l8_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top