winform两个窗体之间传值(C#委托事件实现)

  • 点击form2窗体按钮返回结果20赋值给form1窗体文本框
    form1代码如下:
     //计算按钮事件
            private void Button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.f += F2_f;     //注册事件,只能+=
                f2.ShowDialog();
            }
    
            private int F2_f(int arg)
            {
                textBox1.Text = arg.ToString();
                return 1;
            }
     
    
    form2代码如下:
     public event Func<int, int> f;  //声明事件委托变量f,类型为int,返回值为int
    
    //form2按钮事件
            private void Button1_Click(object sender, EventArgs e)
            {
                //给form1窗体的文本框赋值20
                if (f != null)
                {
                    f(20);
                }
            }
     
    
    完成
    补充:因为此例子并没有使用返回值,所以可以使用泛型委托Action<int>
    转载于:https://www.cnblogs.com/micc/p/10673328.html
    委托
  • 定义一个委托,声明一个委托变量,然后让变量去做方法应该做的事。
  • 委托是一个类型
  • 事件是委托变量实现的
  • 经典例子:两个winform窗体传值
  1. 定义两个窗体:form1和form2
  2. form1上有一个文本框,一个按钮
  3. 点击计算按钮调出form2
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值