Winform中利用委托实现窗体之间的传值
2016-06-21 19:12
459 查看
下面我实现一个最简单的页面传值功能,相信初学者能一看就明白。
点击打开按扭,打开传输值窗体
输入值后点击传输按扭,'value'将显示在接收值窗体的TextBox上
这里主要为大家呈现了两种传值方式:
一、将Form1窗体传给fatherform对象,随后我们就可以在Form2中操作Form1了。
二、使用委托,将getValue方法赋给事件或委托对象getTextHandler,那么实现getValue操作就不用自己去做了因为已经委托给getTextHandler,直接调用getTextHandler即可
原文地址:http://www.cnblogs.com/pfcan66/archive/2012/09/12/2680596.html
点击打开按扭,打开传输值窗体
1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 } 7 8 public void getValue(string strV) 9 { 10 this.textBox1.Text = strV; 11 } 12 13 private void button1_Click(object sender, EventArgs e) 14 { 15 Form2 frm = new Form2(); 16 //frm.fatherform = this;//将当前窗体赋给fatherform 17 //frm.getTextHandler += new Form2.GetTextHandler(getValue);//给事件赋值(注意:GetText方法的参数必须与GetTextHandler委托的参数一样,方可委托) 18 frm.getTextHandler = getValue;//将方法赋给委托对象 19 frm.ShowDialog(); 20 } 21 }
输入值后点击传输按扭,'value'将显示在接收值窗体的TextBox上
1 public partial class Form2 : Form 2 { 3 public Form2() 4 { 5 InitializeComponent(); 6 } 7 //public Form1 fatherform; 8 9 public delegate void GetTextHandler(string text);//声明委托 10 // public event GetTextHandler getTextHandler = null;//定义委托事件 11 public GetTextHandler getTextHandler;//委托对象 12 private void button1_Click(object sender, EventArgs e) 13 { 14 //if (fatherform != null) 15 //{ 16 // fatherform.getValue(this.textBox1.Text.Trim()); 17 // this.Close(); 18 //} 19 if (getTextHandler != null) 20 { 21 getTextHandler(this.textBox1.Text.Trim()); 22 this.Close(); 23 } 24 } 25 }
这里主要为大家呈现了两种传值方式:
一、将Form1窗体传给fatherform对象,随后我们就可以在Form2中操作Form1了。
二、使用委托,将getValue方法赋给事件或委托对象getTextHandler,那么实现getValue操作就不用自己去做了因为已经委托给getTextHandler,直接调用getTextHandler即可
原文地址:http://www.cnblogs.com/pfcan66/archive/2012/09/12/2680596.html
相关文章推荐
- MacOSX开发object-c获取UUID、SerialNumber方法
- AS中运行项目时出现Error:Execution failed for task ':app:transformClassesWithDexForDebug'...问题解决
- 浅析C/C++中的switch/case陷阱
- JS 获取浏览器窗口大小
- 【NOI2015】品酒大会
- ORACLE:PL/SQL 程序设计简介
- .net加密解密学习总结
- shell脚本优化
- FHS目录结构
- 使用 Statement 接口实现添加数据操作
- 缓存清理策略
- 从mediaserver入手学习快速理解binder机制
- 《构建之法-软件工程》学期总结
- [置顶] 安卓手势的学习
- 【NOI2015】小园丁与老司机
- 安卓Gallery之自定义图片边框
- jquery 为动态加载的元素添加事件
- 数据结构——栈和队列
- socket粘包,socket缓冲区设
- Java学习——Thread中run()和start()的区别