winform 画面关闭返回值_Winform模态窗体关闭时赋值给打开自身的窗体(C# 事件委托版)...

在日常开发中,经常要打开一个模态窗体,在模态窗体中选择某一项,然后把这项的ID或者Name赋值给打开这个模态窗体的窗体……

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

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

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

模态窗体的主要代码:

public partial class SelectForm : Form

{

public event Action 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);

}

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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值