Winform窗体传值
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窗体传值的更多相关文章
- C# Winform 窗体传值 利用委托 子窗体传值给父窗体
常用的Winform窗体传值有两种方式. 1.更改Form.designer.cs文件,将控件的设为Public,供子窗体访问. 在designer.cs文件的最后,找到你的控件声明. private ...
- winform窗体传值和动态添加控件
1.跳转窗体时传值 //将要显示的页面实例化 RoleMenuForm rmf = new RoleMenuForm(); try { //在此给RoleMenuForm 窗体中的变量roleId传值 ...
- winform 窗体传值
在Form1中:我们要把一个文本传递给Form2窗体,假定为passText public string passText { ...
- C# winform窗体传值 利用委托 子窗体传值给父窗体
首先在Form2中定义委托和事件: //声明委托 和 事件 public delegate void TransfDelegate(String value); public partial clas ...
- WinForm开发,窗体显示和窗体传值相关知识总结
主窗体中代码: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void b ...
- 【转】WinForm窗体显示和窗体间传值
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...
- 观察者模式的应用:Winform窗体之间传值
观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象 ...
- Winform开发之窗体传值
Winform的窗体之间的数据传递是开发的必备技术,下面介绍几种典型的传值方法 1.构造函数传值,但这种方法是单向的(推荐) 上代码,先传值 private void button2_Click(ob ...
- C# Winform中的窗体传值
关于C#winform窗体之间的传值有以下几种做法 1 通过构造函数传值 2 属性传值 以上两种方法不早详细介绍. 3 通过事件传值,委托传值 首先看一下通过委托传值吧. 1,创建两个窗体,分别是Fo ...
随机推荐
- java8中ConcurrentHashMap
HashMap的线程不安全主要体现在resize时的死循环及使用迭代器时的fast-fail上. Fast-fail: fail-fast 机制是java集合(Collection)中的一种错误机制. ...
- linux-who
在终端输入who查看当前登录服务器的ip.登录时间.登录用户 查看登录用户的pid who -aH 杀掉登录用户PID kill -9 PID
- 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。
这个是LeetCode上的一道题目.本机上运行时正确的,但是LeetCode上显示是错误的,所以没有办法了只能记录在博客上了. 我的想法是先把pattern和str都转化成数组.例如"abb ...
- 配置https域名
https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.11065259.1996646101.searchclickresult.6 ...
- 【二分答案+2-SAT】Now or later UVALive - 3211
题目链接:https://cn.vjudge.net/contest/209473#problem/J 题目大意: 有n架飞机,每架飞机有两个可降落时间点a,b(a<b)(即一架飞机可以选择在时 ...
- JDBC之 自增长与事务
JDBC之 自增长与事务 1.自增长 有这样一个现象:数据库中有两个表格 学生表(学生姓名,所在班级),班级表(班级号(自增长的主键),班级人数). 现在我往班级表插入一条信息, 只提供班级人数,班级 ...
- HDU.3311.Dig The Wells(DP 斯坦纳树)
题目链接 \(Description\) 有n座庙.一共n+m个点,可以在任意一些点修建水井,不同位置花费不同:也可以某些点之间连无向边共享水.求使n座庙都有水的最小花费. \(Solution\) ...
- 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
分为4个步骤: 1) 当发送一个 URL 请求时,不管这个 URL 是 Web 页面的 URL 还是 Web 页面上每个资源的 URL,浏览器都会开启一个线程来处理这个请求,同时在远程 DNS 服务 ...
- PHP 图像居中裁剪函数
图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域.(imagecopyresampled — 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间 ...
- asp.net core中的razor页面
Razor 页面(Razor Pages)是 ASP.NET Core 2.0 中新增的一种Web页面模型,相对MVC形式更加简单易用,可以说是一个服务端的MVVM模型,本文简单的介绍一下它的用法. ...