winform 中调用用户控件中 嵌套用户控件的事件

工作了很久,一直没有很深入的了解C#中的委托和事件。

来到新公司,主要的工作就是使用委托和事件操作数据。一下子不知道该如何下手。各方请教大神,得出下面的方法

1. 在A控件中定义一个事件,B控件触发的时候,调用一下这个事件。然后再在A的父级控件中写方法,+=的方式把方法委托给A的事件就行了 
 窗体:

 private void Form1_Load(object sender, EventArgs e)
        {
            UC_Content content = new UC_Content();
            content.C_Clicked += new Action(content_C_Clicked);
            content.Margin = new Padding(40);
            this.groupBox1.Controls.Add(content);
        }

        void content_C_Clicked()
        {
            MessageBox.Show("C点击了");
        }

大控件
  private void UC_Content_Load(object sender, EventArgs e)
        {
            UC_Detail detail = new UC_Detail();
            detail.Margin = new Padding(30);
            detail.Click += new EventHandler(detail_Click);
            this.panel1.Controls.Add(detail);
        }

        void detail_Click(object sender, EventArgs e)
        {
            if(C_Clicked!=null)
            {
                C_Clicked();
            }
        }

      public event Action C_Clicked; 
 

转载于:https://www.cnblogs.com/sunnyJoily/p/4048090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值