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

用委托实现窗体间传值相关推荐

  1. Pyqt 窗体间传值

    窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件.  Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...

  2. 利用委托 实现窗体间通信,非原创

    copy自:https://www.cnblogs.com/hugoNB/p/7130562.html,这个作者写的浅显易懂,就复制下来自己看 实现过程: 这里主要是用到委托实现,所以主要描述一下委托 ...

  3. C#利用委托实现窗体间的值传递

    C#利用委托实现窗体间的值传递 A.网上有很多方法,大家可搜一下,都可用. B.这里只是说明下是只利用委托,学习基本的委托运用. 方法如下: 1.C#建立一个默认工程,默认窗体Form1 2.加入一个 ...

  4. 构造函数实现窗体间传值

    ///Form1.cs the form contains a textbox and a button using System; using System.Collections.Generic; ...

  5. C# 窗体间传值(使用委托与自定义事件)

    using System; using System.Drawing; using System.Windows.Forms; namespace 跨窗体调用控件 { public partial c ...

  6. (C#)WinForm窗体间传值

    1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; string value2; public Form2 ( int val ...

  7. 窗体间传值和窗体间互操作

    今天遇到一个非常棘手的问题:子窗体在关闭时传递一个对象给父窗体.窗体关闭时会发生数据验证,当数据不正确时,窗体不可关闭. 由于编写之初总在思考一个完美的办法,导致代码总无法通过,最后,不得不使用最笨拙 ...

  8. Winfrom窗体间传值

    1.通过tag属性传输,tag属性是存储与空间密切相关的数据.比如登陆界面的数据传输给主界面. 子窗体                                                 ...

  9. 利用事件进行窗体间传值

    为什么80%的码农都做不了架构师?>>>    举例,现在有两个窗体,SelectForm窗体查询信息集合,使用DataGridview显示信息集合,EditForm窗体添加和修改信 ...

最新文章

  1. java list原理_Java中ArrayList实现原理
  2. html select滚动轴,javascript - html select scroll bar - Stack Overflow
  3. Android跨进程通信二——AIDL
  4. 分布式锁原理——redis分布式锁,zookeeper分布式锁
  5. 从0到1,了解NLP中的文本相似度 1
  6. CoreOS集成Kubernetes核心组件Kubelet
  7. [SpringBoot2]Thymeleaf
  8. 程序员问答网站:StackOverflow
  9. ​iPhone 12全线跌破发行价;三星扩大众包定位网络;Fedora 33发布|极客头条
  10. tf.train.Example的用法(转)
  11. mysql中表示金钱的类型
  12. win8计算机触摸板怎么设置,win8.1笔记本电脑怎么关闭键盘触摸板
  13. qq文件对方接收后一定会有提示吗_qq发文件为什么显示对方无法接受文件
  14. 手机性能指标详细测试步骤【Android/IOS】
  15. javascript之内置函数
  16. Google GMS认证问题
  17. C语言实现MD5加密算法
  18. 老司机入职一周,给我们解读 Spring Boot 最流行的 16 条实践
  19. 杨辉三角(C语言实现)
  20. PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC

热门文章

  1. JavaScript --- this
  2. 26 JSX深度剖析与使用技巧
  3. Webpack进阶(一) tree shaking与不同mode
  4. ES5-16【utils】数组方法、类数组
  5. leetcode-665-Non-decreasing Array
  6. 33Exchange Server 2010跨站点部署-分支机构邮件从分支机构出
  7. Typecho 新浪登陆插件 Sinauth
  8. AutoRun Pro Enterprise II 教程--- 教你制作软件工具箱教程清晰版(教程画面清晰,教程语音可以调高)...
  9. mysql大数据优化要注意的细节
  10. 全文检索技术介绍与使用方法