利用委托实现winform窗体间通信:
首先先建一个委托类:
namespace Lianxi
{
//用委托实现页面间通信
public delegate void TextChangedHandler(string s);
public class cResult
{
public string Message= "";
public event TextChangedHandler TextChanged;
public void ChangeText(string mge)
{
if (TextChanged != null)
TextChanged(mge);
}
}
}
接着在新建一个窗体Form1:
namespace Lianxi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
cResult r = new cResult();
r.TextChanged += new TextChangedHandler(this.EventResultChanged);
frmChild fc = new frmChild(r);
fc.ShowDialog();
}
private void EventResultChanged(string mage)
{
textBox1.Text = mage;
}
}
}
在新建窗体Form2命名为frmChild:
代码如下:
namespace Lianxi
{
public partial class frmChild : Form
{
public frmChild()
{
InitializeComponent();
}
private cResult r;
public frmChild(cResult r) : this()
{
this.r = r;
}
private void frmChild_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim() == "")
{
}
else
{
r.ChangeText(textBox1.Text.Trim());
this.Close();
}
}
}
}
这样就实现了窗体间的传值.简单不,呵呵!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hkdeaccp/archive/2007/12/21/1957365.aspx