在Winform 窗体之间 委托事件传值
Form1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace winformDelegate { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm=new Form2(); frm.Myevent += GetValue; frm.Show(); } public void GetValue(string text) { textBox1.Text = text; } } }
Form2
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace winformDelegate { public partial class Form2 : Form { public delegate void DelegaeValue (string text); public event DelegaeValue Myevent; protected virtual void ValueInformation(string text) { DelegaeValue handler = Myevent; if (handler != null) handler(text); } public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (Myevent != null) { } ValueInformation(textBox1.Text); } } }
在WinForm中用委托传值