子窗体向父窗体传数值(事件委托)
//父窗体代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace weituo

{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 fr = new Form2();
fr.MessageHandler += new Form2.MessageEventH(Name_Click);
fr.Show();
}
private void Name_Click(object sender, MessageEvent e)
{
this.textBox1.Text = e.Name;
}
}
}
//子窗体代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace weituo

{
public partial class Form2 : Form
{
public delegate void MessageEventH(object sender, MessageEvent e);
public event MessageEventH MessageHandler;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
this.textBox1.Text = Class1.Name;
}
private void button1_Click(object sender, EventArgs e)
{
string name=this.textBox1 .Text ;
MessageEvent me = new MessageEvent(name);
MessageHandler(this, me);
this.Dispose();
}
}
public class MessageEvent : System.EventArgs
{
private string name;
public MessageEvent(string name)
{
this.name = name;
}
public string Name
{ get
{ return name; } }
}
}
浙公网安备 33010602011771号