1:委托:

父窗体;

 private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
//frm.fatherform = this;//将当前窗体赋给fatherform
//frm.getTextHandler += new Form2.GetTextHandler(getValue);//给事件赋值(注意:GetText方法的参数必须与GetTextHandler委托的参数一样,方可委托)
frm.getTextHandler = getValue;//将方法赋给委托对象
frm.ShowDialog();
}

子窗体:

       public delegate void GetTextHandler(string text);//声明委托
// public event GetTextHandler getTextHandler = null;//定义委托事件
public GetTextHandler getTextHandler;//委托对象
private void button1_Click(object sender, EventArgs e)
{
//if (fatherform != null)
//{
// fatherform.getValue(this.textBox1.Text.Trim());
// this.Close();
//}
if (getTextHandler != null)
{
getTextHandler(this.textBox1.Text.Trim());
this.Close();
}
}

2:例子:

父窗体:

 private void btnAgain_Click(object sender, EventArgs e)
{
FrmWaitSettleSalesOrder frm = new FrmWaitSettleSalesOrder(EnumShowFormType.编辑, dayOrderID);
frm.Owner = this;
frm.ShowUpdate += new FrmWaitSettleSalesOrder.DiaplayUpdate(ShowUpdate);
frm.ShowDialog();
}
 
 public void ShowUpdate()
{
GetData();
GetClickOnTopRow();
}

子窗体:

         public delegate void DiaplayUpdate();
public event DiaplayUpdate ShowUpdate;
事件中方法
FrmDailyStateMentDetail frmFather = (FrmDailyStateMentDetail)this.Owner;
frmFather.ShowUpdate();

Winform窗体传值的更多相关文章

  1. C# Winform 窗体传值 利用委托 子窗体传值给父窗体

    常用的Winform窗体传值有两种方式. 1.更改Form.designer.cs文件,将控件的设为Public,供子窗体访问. 在designer.cs文件的最后,找到你的控件声明. private ...

  2. winform窗体传值和动态添加控件

    1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...

  3. winform 窗体传值

    在Form1中:我们要把一个文本传递给Form2窗体,假定为passText               public string passText               {          ...

  4. C# winform窗体传值 利用委托 子窗体传值给父窗体

    首先在Form2中定义委托和事件: //声明委托 和 事件 public delegate void TransfDelegate(String value); public partial clas ...

  5. WinForm开发,窗体显示和窗体传值相关知识总结

    主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void b ...

  6. 【转】WinForm窗体显示和窗体间传值

    以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...

  7. 观察者模式的应用:Winform窗体之间传值

    观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...

  8. Winform开发之窗体传值

    Winform的窗体之间的数据传递是开发的必备技术,下面介绍几种典型的传值方法 1.构造函数传值,但这种方法是单向的(推荐) 上代码,先传值 private void button2_Click(ob ...

  9. C# Winform中的窗体传值

    关于C#winform窗体之间的传值有以下几种做法 1 通过构造函数传值 2 属性传值 以上两种方法不早详细介绍. 3 通过事件传值,委托传值 首先看一下通过委托传值吧. 1,创建两个窗体,分别是Fo ...

随机推荐

  1. svn导入项目和部署方面的相关问题

    前一阵子忙于部署项目的事情,在这个过程之中遇到了一些问题,查阅了相关资料解决了问题于是就决定分享给大家,可能会对大家有一定的帮助.我在下面中可能会提到dubbo的一些问题,dubbo是用于分布式的系统 ...

  2. 什么叫“回归”——“回归”名词的由来&&回归与拟合、分类的区别 && 回归分析

    http://blog.csdn.net/denghecsdn/article/details/77334160

  3. 【SPOJ】QTREE6-Query on a tree VI

    题解 老年选手的代码康复计划QAQ 这题又没一遍A,难受 每个节点维护这个节点子树内联通块的大小 维护所有节点轻儿子的\(g[u][0]\)表示所有轻儿子白色的联通块总数 \(g[u][1]\)表示所 ...

  4. Mysql - 参数修改

    概述 mysql的参数可以分为两类:a. 动态参数,数据库启动期间能被修改,而修改又分为两种(global级,session级).b. 静态参数,即数据库启动期间不能修改. 接下来利用参数wait_t ...

  5. mybatis generator修改默认生成的sql模板

    相关连接: mybatis-generator扩展教程系列 -- 自定义sql xml文件 git项目地址

  6. FreeMarker快速入门

    虽然当前比较推荐使用thymeleaf替代jsp作为java网页开发的模板语言,不过公司推荐使用freemarker,那就顺势而为,速度学一发,然后迅速开始新项目了. 简介 FreeMarker第一个 ...

  7. spring 状态机

    前言:“状态机”见名知意,用状态去管理业务操作,打个比方:0~1岁(出生状态),1~3岁(认知状态),3~6岁(启蒙状态),6~22岁(学习状态),22~60(工作状态),60以后(退休状态),那么人 ...

  8. mongodb spring 配置文件

    在使用spring-data-mongodb中,需要配置spring文件,如下: mongodb.xml <?xml version="1.0" encoding=" ...

  9. collectionView代理方法快速设置cell大小上下左右间隔

    #define JianGe 25 #define GeShu 4 #define ScreenWidth ([UIScreen mainScreen].bounds.size.width) #def ...

  10. UML类图-聚合和组合的区别

    类图-组合和聚合 学习自 http://blog.sina.com.cn/s/blog_4ae8f77f0100ji5k.html http://blog.csdn.net/nodeathphoeni ...