c# winform 子父窗体交互信息
来源:互联网 发布:故宫纪录片知乎 编辑:程序博客网 时间:2024/04/30 05:50
第一种利用委托的方法:
父窗体的方法:
private void constraintEnd_Click(object sender, EventArgs e) { //if (MessageBox.Show("即将强制将本炉次数据归档!", "警告", MessageBoxButtons.OKCancel) == DialogResult.OK)//2012.4.11修改 //{ CCMEnd ccmend = new CCMEnd(curHeatInfo.Rows[0]["heatid"].ToString(), label337.Text.ToString().Trim()); ccmend.resultEvent += new CCMEnd.CalculateDelegate(Endccm); ccmend.Show(this); } public void Endccm(string result) { checkProcStatus(); if (result.Equals("1")) { //MessageBox.Show("归档成功!", "警告");//2012.4.11修改 MessageBoxTimeout.Show("归档成功!", "警告", 4000); } else { //MessageBox.Show(result, "警告"); MessageBoxTimeout.Show(result, "警告", 4000); } //} }子窗体方法:
public delegate void CalculateDelegate(string result); public event CalculateDelegate resultEvent; private void button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(textBox4.Text) && !string.IsNullOrEmpty(textBox5.Text)) { QT_Service.QT_Service qtService = new UI.QT_Service.QT_Service(); int cut_head = Int16.Parse(textBox4.Text); int cut_trimmed = Int16.Parse(textBox5.Text); result = qtService.EndEAFHeatID(4, string.Format("{0:yyyyMMddHHmmss}", DateTime.Now), cut_head, cut_trimmed); //CalculateDelegate calculate = new CalculateDelegate(((CCMMonitor)this.Owner).Endccm); //calculate(result); this.Close(); resultEvent(result); } else { MessageBox.Show("输入有误,请重新输入!", "警告"); } }第二种方法:
父窗口:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this,textBox1.Text);//带参数构造Form2(此方法该处带俩参数构造多余) if (frm.ShowDialog() == DialogResult.OK) { this.textBox1.Text += frm.ReturnText;//通过Form2的属性获得回传值 } frm = null; }子窗口:
public partial class Form2 : Form { private Form1 pfrm; private string frm1txt; public Form2(Form1 parentfrm,string frm1text) { InitializeComponent(); pfrm = parentfrm; frm1txt = frm1text; } public string ReturnText//回传值的属性 { get { return this.frm1txt; } } private void button2_Click(object sender, EventArgs e)//给属性赋值并关闭模式窗体Form2 { frm1txt = this.textBox2.Text; this.DialogResult = DialogResult.OK;//*必加 模式窗体打开后 只有DialogResult初始化后才可继续操作 否则值无法传回 this.Close();//模式窗体关闭.close()相当于将窗体隐藏 彻底关闭需要用.Dispose() } private void button3_Click(object sender, EventArgs e)//关闭 { this.DialogResult = DialogResult.Cancel;//同* this.Close(); }
第三种方法就是将父窗口的对象当做参数传到子窗口。
- c# winform 子父窗体交互信息
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C#窗体信息交互
- C# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
- WinForm子窗体和母窗体的交互
- 虾米男的伤感爱情日志推荐:我会忘记你,因为你不属于我
- 判断touch事件点是否在view范围内
- ios集合
- JS弹窗方式:window.open和window.showModalDialog
- 分析Power key的处理流程
- c# winform 子父窗体交互信息
- 从程序员到项目经理(四):外行可以领导内行吗
- mongodb的启动总忘,记一笔!
- hd2 刷wp7后内存卡不能识别
- 一小段摘抄
- Python 于 webgame 的应用(上)
- 临时对象的来源
- basex - XML数据库 浅谈
- 偏执狂的原创伤感日志:珍惜你们的缘分;幸福