使用委托-主窗体与子窗体间传参


一、效果展示

二、代码说明

(此处拿主窗体向子窗体传参作为例子进行解释说明,需要完整代码请到文章结尾自取)

(一)主窗体代码:

1.创建子窗体实例

  
        FormChid1 formChid1 = new FormChid1();
        FormChid2 formChid2 = new FormChid2();
        

2.声明委托和创建实例

        public delegate void FormSendMsg1(string msg); //声明委托
        public FormSendMsg1 formSendMsg1;//创建委托实例


        public delegate void FormSendMsg2(string msg);//声明委托
        public FormSendMsg2 formSendMsg2;//创建委托实例

 3.使用TextChange事件属性,当文本值变化时调用委托实例传参

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            formSendMsg1(textBox1.Text);
        }


        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            formSendMsg2(textBox2.Text);
        }

 4.将主窗体委托实例与被子窗体中的接收方法关联

    public FormMain()
        {
            InitializeComponent();

            formSendMsg1 += formChid1.DelegateFormReceiveMsg1;
            formSendMsg2 += formChid2.DelegateFormReceiveMsg2;
           
        }

(二)子窗体代码:

  5.创建与发送窗体中声明委托类型相同的接收方法

   public void DelegateFormReceiveMsg1(string msg) => textBox1.Text = msg;

(此处两个子窗体内代码相同,子窗体2内代码就不展示了)

子窗体给主窗体传参代码和上述代码类似,只是创建委托实例、对应函数的位置不同,具体参照完整源码


三、完整源码

链接:https://pan.baidu.com/s/11eM8jQ99Lpw4amMBy_I_yg 
提取码:7mxi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值