Winform 自定义控件 添加至panel 处理自定义控件事件

代码如下:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace KK.ButtonLable
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnCreate_Click(object sender, EventArgs e)
        {
            Add(new ButtonLable(), this.panel1, "");
            Add(new ButtonLable(), this.panel1, "");
            Add(new ButtonLable(), this.panel1, "");
            Add(new ButtonLable(), this.panel1, "");
            Add(new ButtonLable(), this.panel1, "");
        }

        /// <summary>
        /// 间隔
        /// </summary>
        private int UcMargin = 1;
        //private void Add(ButtonLable item, DICT_QUEUECODE queue, Panel panel, int colCount, string type)
        private void Add(ButtonLable item, Panel panel, string type)
        {
            //int index = queue.TIMEPART.IndexOf('~');
            //int num = queue.TIMEPART.Length - index - 1;
            //string beginTime = queue.TIMEPART.Substring(0, index);
            //string endTime = queue.TIMEPART.Substring(index + 1, num);
            if (panel.Controls.Count == 0)
                item.Location = new Point(UcMargin, UcMargin);
            else
            {
                int y = panel.Controls[0].Location.Y + item.Height * panel.Controls.Count + UcMargin;
                int x = panel.Controls[0].Location.X;
                item.Location = new Point(x, y);
            }

            //item.UCValue = queue.CODEVALUE.ToString() + "
" + beginTime + "
" + endTime;
            //item.DisplayValue = queue.CODEVALUE;
            //item.UcName = "btn" + type + queue.CODEVALUE;
            //item.Name = "btn" + type + queue.CODEVALUE;
            item.UcBtnValue = "aaa";
            item.UcLableValue = "bbb";
            item.SetBtn_OnClick(btnClick);

            panel.Controls.Add(item);
        }

        public void btnClick(object sender, EventArgs e) 
        {
            MessageBox.Show("Test");
        }
    }
}
 

运行效果如下:

原文地址:https://www.cnblogs.com/YYkun/p/13607183.html