C# 窗体间传值总结
C# 窗体间传值总结
1、父窗体传值给子窗体
在父窗体中写:
FormChild fc = new FormChil();//新建一个子窗体 fc.ShowDialog(this);//以上两句即实现了子窗体和父窗体的联系 textBox2.Text = fc.Str1;//已实现联系,可以传值
登录后复制
2、子窗体传值给父窗体
有两种方法:
(1) 在子窗体中写:
FormParent fp = (FormParent)this.Owner;//实现联系 textBox1.Text = fp.Str1;//已实现联系,可以传值
登录后复制
(2)运用子窗体的构造函数将父窗体的值传入(代码如下),可传一两个父窗体的值,如果要传的值多可以用ArrayList,也可直接传窗体(示例代码直接传窗体)
总结:抓住窗体对象和要传具体值的联系
代码:
using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TestTransValue { public partial class Form1 : Form { private string form1Text; public string Form1Text { get { return form1Text; } set { form1Text = value; } } public Form1() { InitializeComponent(); form1Text = "这是来自Form1的Text"; } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.ShowDialog(this); textBox1.Text = f2.Form2Text;//以上三句即可实现从子窗体向父窗体的传值 } private void button2_Click(object sender, EventArgs e) { Form3 f3 = new Form3(this); f3.ShowDialog(this); textBox2.Text = f3.Form3Text;//以上三句即可实现从子窗体向父窗体的传值 } } }
登录后复制
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace TestTransValue { public partial class Form2 : Form { private string form2Text = "这是来自form2的Text"; public string Form2Text { get { return form2Text; } set { form2Text = value; } } public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Form1 f1 = (Form1)this.Owner; textBox1.Text = f1.Form1Text;//以上两句即可实现子窗体获取父窗体的值(需要在父窗体中声明) } } }
登录后复制
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace TestTransValue { public partial class Form3 : Form { private string form3Text = "这是来自form3的Text"; Form1 f1; public string Form3Text { get { return form3Text; } set { form3Text = value; } } public Form3(Form1 form1) { InitializeComponent(); f1 = form1; } private void Form3_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { textBox1.Text = f1.Form1Text; } } }
登录后复制
以上就是C# 窗体间传值总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前
By DDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前
By DDD
Atomfall指南:项目位置,任务指南和技巧
4 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题
gmail邮箱登陆入口在哪里
7653
15


CakePHP 教程
1393
52


steam的账户名称是什么格式
91
11


win11激活密钥永久
73
19


NYT迷你填字游戏答案
37
110



使用 C# 的 Active Directory 指南。在这里,我们讨论 Active Directory 在 C# 中的介绍和工作原理以及语法和示例。

多线程和异步的区别在于,多线程同时执行多个线程,而异步在不阻塞当前线程的情况下执行操作。多线程用于计算密集型任务,而异步用于用户交互操作。多线程的优势是提高计算性能,异步的优势是不阻塞 UI 线程。选择多线程还是异步取决于任务性质:计算密集型任务使用多线程,与外部资源交互且需要保持 UI 响应的任务使用异步。
