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() + "\n" + beginTime + "\n" + 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");
        }
    }
}
 

运行效果如下:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM