VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 713|回复: 6

动态加载按钮 并加载事件的问题

[复制链接]

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-17 20:00:01 | 显示全部楼层 |阅读模式
Button a = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 2; i++)
            {
               a = new Button();
                a.Text = i.ToString();
                this.flowLayoutPanel1.Controls.Add(a);

                a.Click += new System.EventHandler(this.button1_Click);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(a.Text);
        }
  在面板上就有2个按钮了 但是不管点哪个都是 2
   我想实现的是 点1 弹出1  点2 弹出 2
回复

使用道具 举报

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-21 16:15:01 | 显示全部楼层
a.Click += new System.EventHandler(this.button1_Click);这句有问题啊。
肯定只有一种响应了
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-22 12:30:01 | 显示全部楼层
那应该要怎么写 才能实现啊
回复

使用道具 举报

0

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-4-23 18:45:01 | 显示全部楼层
private void button1_Click(object sender, EventArgs e)
{
Button clickedButton = sender as Button;
MessageBox.Show(clickedButton .Text);
}
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-4-24 22:45:02 | 显示全部楼层
你已经实现了动态加载按钮并支持事件,只是事件处理程序写得有问题。

a是类实例中的对象,在事件处理函数以外得到了初始值。
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-25 22:45:01 | 显示全部楼层
yujunziling 太感谢你了~~
   private void button1_Click(object sender, EventArgs e)
    {
     Button clickedButton = sender as Button;
     MessageBox.Show(clickedButton .Text);
    }
是对的~~
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-25 23:00:01 | 显示全部楼层
呵呵 成功了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表