1 public partial class Form1 : Form2 {3 public Form1()4 {5 InitializeComponent();6 }78 public void getValue(string strV)9 {10 this.textBox1.Text = strV;11 }1213 private void button1_Click(object sender, EventArgs e)14 {15 Form2 frm = new Form2();16 //frm.fatherform = this;//将当前窗体赋给fatherform17 //frm.getTextHandler += new Form2.GetTextHandler(getValue);//给事件赋值(注意:GetText方法的参数必须与GetTextHandler委托的参数一样,方可委托)18 frm.getTextHandler = getValue;//将方法赋给委托对象19 frm.ShowDialog();20 }21 }
输入值后点击传输按扭,'value'将显示在接收值窗体的TextBox上
1 public partial class Form2 : Form2 {3 public Form2()4 {5 InitializeComponent();6 }7 //public Form1 fatherform;89 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 }
这里主要为大家呈现了两种传值方式: