C#自定义控件新增一个事件,自定义控件内的其他控件也响应该新增事件

一:应用及问题描述:

1.自定义一个控件UCImageSource,自定义一个BtnClick事件

2.UCImageSource控件内有一个Label控件,名为lblText

3.在frmMain窗口添加此UCImageSource控件,控件名ucImageSource1.运行时frmMain时,点击ucImageSource1,执行BtnClick.

4.当点击到UCImageSource上的Label控件lblText时,如何执行BtnClick?

二:控件上的代码(不相干代码省略):
新建一个UCButtonImage.cs文件,为自定义控件文件
namespace My_Controls.Controls : Control
{

   //设置默认事件为要新增的事件BtnClick
    [DefaultEvent("BtnClick")]
    public partial class UCImageSource
    {
        /// <summary>
        /// 按钮点击事件
        /// </summary>
        [Description("按钮点击事件"), Category("自定义")]
        public event EventHandler BtnClick;

        private void UCImageSource_Click(object sender, EventArgs e)
        {
            if (BtnClick != null)
            {
                BtnClick(sender, e);
            }
        }
    }
}

        //此自定义控件内有一个Label控件:lblText,其Click事件如下:


       

三:新建frmMain.cs,添加上面的控件,控件名为ucImageSource1,在属性事件页面上,双击BtnClick右边栏,在ucImageSource1_BtnClick上添加代码进行测试.


        private void ucImageSource1_BtnClick(object sender, EventArgs e)
        {           
            MessageBox.Show("Test");

        }

此时,点击到的lblText也响应了控件的BtnClick事件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值