您的位置:首页 > 编程语言 > C#

Winform模态窗体关闭时赋值给打开自身的窗体(C# 事件委托版)

2010-08-24 09:49 429 查看
在日常开发中,经常要打开一个模态窗体,在模态窗体中选择某一项,然后把这项的ID或者Name赋值给打开这个模态窗体的窗体……

在Windows 客户端中,要实现这样的功能是非常简单的,代码也会很优美。当然,这与个人的写法有关系。

比较优美的方式有2种,一种是使用interface编写观察者模式,一种就是使用事件委托。既然在Windows平台中玩耍,那就采用更加灵活的事件委托方式来实现吧。

废话少说,我们来看实现代码吧。(红色加粗为主要中的重要代码)

模态窗体的主要代码:

public partial class SelectForm : Form
{
public event Action<string> ReturnValue;

//..........

private void button1_Click(object sender, EventArgs e)
{
if (ReturnValue != null) ReturnValue(this.textBox1.Text);
this.Close();
}
}

打开模态窗体的窗体的主要代码:

public partial class Form1:Form

{

//..........

void button2_Click(object sender, EventArgs e)
{
SelectForm f = new SelectForm();
f.ReturnValue += (value) =>
{
this.textBox2.Text = value;
};
f.ShowDialog(this);
}

//..........

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐