c#中动态添加按钮并添加点击事件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           for(int count1 = 0; count1 < 10; count1++)//目标是向窗体上添加10个button
            {
                Point p = new Point(0, count1 * (textBox1.Height + 2));//定义一个具体的位置
                Button btn = new Button();//实例化一个button
                btn.Name = "btn" + count1.ToString();
                btn.Text = btn.Name;
                btn.Tag = count1;//tag是控件留给用户自己定义的一个数据项,可以是任何数据类型包括object
                btn.Location = p;
                this.Controls.Add(btn);//向具体的控件中添加button
                btn.Click  += new EventHandler(aBtn_Click);//使用事件函数句柄指向一个具体的函数
            }
        }
        private void aBtn_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;//获取被点击的控件,按钮
            textBox1.Text = btn.Tag.ToString();
        }
    }
}

猜你喜欢

转载自saddogchen.iteye.com/blog/2303208