用委托实现窗体间传值
1.新建一个工程.在Form1中添加一个Label和一个Button.新建一个事件类,让它有一个string 类型的属性,用于传值.
1 ///ReturnValueEventArgs.cs
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5
6 namespace test
7 {
8 public class ReturnValueEventArgs:EventArgs
9 {
10 private string str;
11
12 public string strMessage
13 {
14 get
15 {
16 return str;
17 }
18 set
19 {
20 str = value;
21 }
22 }
23 }
24 }
25
2.新建一个窗体Form2.添加一个TextBox和一个Button.添加如下代码.
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Text;
7 using System.Windows.Forms;
8
9 namespace test
10 {
11 public partial class Form2 : Form
12 {
13 public event returnValueHandler returnValue;
14
15 public Form2()
16 {
17 InitializeComponent();
18 }
19
20 private void button1_Click(object sender, EventArgs e)
21 {
22 ReturnValueEventArgs ee = new ReturnValueEventArgs();
23 ee.strMessage = textBox1.Text;
24 returnValue(sender, ee);
25 }
26 }
27 }
3.在Form1中添加如下代码.
using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Text;
7 using System.Windows.Forms;
8
9
10 namespace test
11 {
12 public delegate void returnValueHandler (object sender ,ReturnValueEventArgs e);
13 public partial class Form1 : Form
14 {
15
16 public Form1()
17 {
18 InitializeComponent();
19 }
20
21 private void button1_Click(object sender, EventArgs e)
22 {
23 Form2 frm = new Form2();
24 frm.Show();
25 frm.returnValue += new returnValueHandler(frm_returnValue);
26
27
28 }
29
30 void frm_returnValue(object sender, ReturnValueEventArgs e)
31 {
32
33 label1.Text = e.strMessage;
34 //throw new Exception("The method or operation is not implemented.");
35 }
36 }
37 }
转载于:https://www.cnblogs.com/kjun/archive/2010/08/22/1805846.html
用委托实现窗体间传值相关推荐
- Pyqt 窗体间传值
窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件. Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...
- 利用委托 实现窗体间通信,非原创
copy自:https://www.cnblogs.com/hugoNB/p/7130562.html,这个作者写的浅显易懂,就复制下来自己看 实现过程: 这里主要是用到委托实现,所以主要描述一下委托 ...
- C#利用委托实现窗体间的值传递
C#利用委托实现窗体间的值传递 A.网上有很多方法,大家可搜一下,都可用. B.这里只是说明下是只利用委托,学习基本的委托运用. 方法如下: 1.C#建立一个默认工程,默认窗体Form1 2.加入一个 ...
- 构造函数实现窗体间传值
///Form1.cs the form contains a textbox and a button using System; using System.Collections.Generic; ...
- C# 窗体间传值(使用委托与自定义事件)
using System; using System.Drawing; using System.Windows.Forms; namespace 跨窗体调用控件 { public partial c ...
- (C#)WinForm窗体间传值
1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; string value2; public Form2 ( int val ...
- 窗体间传值和窗体间互操作
今天遇到一个非常棘手的问题:子窗体在关闭时传递一个对象给父窗体.窗体关闭时会发生数据验证,当数据不正确时,窗体不可关闭. 由于编写之初总在思考一个完美的办法,导致代码总无法通过,最后,不得不使用最笨拙 ...
- Winfrom窗体间传值
1.通过tag属性传输,tag属性是存储与空间密切相关的数据.比如登陆界面的数据传输给主界面. 子窗体 ...
- 利用事件进行窗体间传值
为什么80%的码农都做不了架构师?>>> 举例,现在有两个窗体,SelectForm窗体查询信息集合,使用DataGridview显示信息集合,EditForm窗体添加和修改信 ...
最新文章
- java list原理_Java中ArrayList实现原理
- html select滚动轴,javascript - html select scroll bar - Stack Overflow
- Android跨进程通信二——AIDL
- 分布式锁原理——redis分布式锁,zookeeper分布式锁
- 从0到1,了解NLP中的文本相似度 1
- CoreOS集成Kubernetes核心组件Kubelet
- [SpringBoot2]Thymeleaf
- 程序员问答网站:StackOverflow
- ​iPhone 12全线跌破发行价;三星扩大众包定位网络;Fedora 33发布|极客头条
- tf.train.Example的用法(转)
- mysql中表示金钱的类型
- win8计算机触摸板怎么设置,win8.1笔记本电脑怎么关闭键盘触摸板
- qq文件对方接收后一定会有提示吗_qq发文件为什么显示对方无法接受文件
- 手机性能指标详细测试步骤【Android/IOS】
- javascript之内置函数
- Google GMS认证问题
- C语言实现MD5加密算法
- 老司机入职一周,给我们解读 Spring Boot 最流行的 16 条实践
- 杨辉三角(C语言实现)
- PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
热门文章
- JavaScript --- this
- 26 JSX深度剖析与使用技巧
- Webpack进阶(一) tree shaking与不同mode
- ES5-16【utils】数组方法、类数组
- leetcode-665-Non-decreasing Array
- 33Exchange Server 2010跨站点部署-分支机构邮件从分支机构出
- Typecho 新浪登陆插件 Sinauth
- AutoRun Pro Enterprise II 教程--- 教你制作软件工具箱教程清晰版(教程画面清晰,教程语音可以调高)...
- mysql大数据优化要注意的细节
- 全文检索技术介绍与使用方法