zoukankan      html  css  js  c++  java
  • 自定义控件添加事件

    自定义控件界面 

    自定义窗体代码

    public partial class QueueBtn2 : UserControl
        {
            #region 属性
            private string ucFontSize;
            public string UCFontSize
            {
                get { return this.ucFontSize; }
                set
                {
                    ucFontSize = value;
                    //this.btnContent.Font = new Font();
                }
            }
    
            private string ucValue;
            public string UCValue
            {
                get { return this.ucValue; }
                set
                {
                    ucValue = value;
                    this.btnContent.Text = ucValue;
                }
            }
    
            private string callType;
            public string CallType
            {
                get { return callType; }
                set { callType = value; }
            }
    
            private string ucName;
            public string UcName
            {
                get { return ucName; }
                set
                {
                    ucName = value;
                    this.btnContent.Name = ucName;
                }
            }
    
            private bool ucEnable;
            public bool UcEnable
            {
                get { return ucEnable; }
                set
                {
                    ucEnable = value;
    
                    if (ucEnable) this.btnContent.BackColor = Color.White;
                    else this.btnContent.BackColor = Color.Gray;
                }
            }
            #endregion
    
            public QueueBtn2()
            {
                InitializeComponent();
            }
    
            private EventHandler _btn_Click = null;
            /// <summary>
            /// 触发统计按钮委托
            /// </summary>
            /// <param name="handler"></param>
            public void SetBtn_OnClick(EventHandler handler)
            {
                if (_btn_Click == null)
                {
                    _btn_Click = handler;
                }
                else _btn_Click -= handler;
            }
    
            /// <summary>
            /// 统计按钮委托
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public void BtnOnClick(object sender, EventArgs e)
            {
                if (_btn_Click != null)
                {
                    _btn_Click(sender, e);
                }
            }
    
            public void btnContent_Click(object sender, EventArgs e)
            {
                //MessageBox.Show("Test");
                try
                {
                       BtnOnClick(this, e);
                 }
                catch { return; }
            }
        }

    使用窗体代码实现:

      private void Add(QueueBtn2 item, int value, Panel panel, int colCount, string beginTime, string endTime, string type)
            {
                if (panel.Controls.Count == 0)
                {
                    item.Location = new Point(UcMargin, UcMargin);
                    item.UCValue = value.ToString() + "
    " + beginTime + "
    " + endTime;
                    item.UcName = "btn" + type + value;
                    item.Name = "btn" + type + value;
                    item.SetBtn_OnClick(Send);
    ..............
    }
      public void Send(object sender, EventArgs e)
    {
    //需要实现的业务逻辑
    }
  • 相关阅读:
    Chrome Native Messaging 与本地程序之间的通信
    由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
    linux
    maven POM.xml 标签详解 转
    java-线程观察整个生命周期
    java-Web项目开发中Spring整合Junit单元测试
    java-Map集合的四种遍历方式
    Java-8内置的核心函数式接口接口
    正则表达式
    Java-Atomic系列12大类实例讲解和原理分解
  • 原文地址:https://www.cnblogs.com/YYkun/p/8615594.html
Copyright © 2011-2022 走看看