动态生成button数组,怎么相应他的click事件?

wb186 2008-11-29 09:44:34

Button [] btn=new Button [10];
for (int i = 0; i < 10; i++)
{
btn[i] = new Button();
btn[i].Text = i.ToString();
btn[i].Location =new Point (0,(10-i)*btn [i].Height );

this.Controls.Add(btn[i]);

this.Controls.Add(btn );


}
我用代码动态生成了10个button,但是我想写代码相应click事件,click一下就会出现一个messagebox,这是第i个button
这个该怎么实现呢?如果是一个button的话我会写,但是button数组就不回了。。。
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frens 2012-10-11
  • 打赏
  • 举报
回复
非常感谢,也帮我解决了一个困扰我多时的大问题
wb186 2008-11-30
  • 打赏
  • 举报
回复
btn[i].Click += new System.EventHandler(this.buttonCus_Click);

麻烦能具体解释一下这句否?麻烦了
GTX280 2008-11-30
  • 打赏
  • 举报
回复
楼上方法可行
wb186 2008-11-30
  • 打赏
  • 举报
回复
呵呵 先把帖子结了再看代码!多谢多谢
root_ 2008-11-29
  • 打赏
  • 举报
回复
大致思路
private void button1_Click(object sender, EventArgs e)
{
Button[] btn = new Button[10];
for (int i = 0; i < 10; i++)
{
btn[i] = new Button();
btn[i].Text = i.ToString();
btn[i].Location = new Point(0, (10 - i) * btn[i].Height);
this.Controls.Add(btn[i]);
btn[i].Click += new System.EventHandler(this.buttonCus_Click);
}
}
private void buttonCus_Click(object sender, EventArgs e)
{
MessageBox.Show("这是第"+((Button)sender).Text+"个button");
}
wb186 2008-11-29
  • 打赏
  • 举报
回复
更正一下,呵呵:
Button [] btn=new Button [10];
for (int i = 0; i < 10; i++)
{
btn[i] = new Button();
btn[i].Text = i.ToString();
btn[i].Location =new Point (0,(10-i)*btn [i].Height );

this.Controls.Add(btn[i]);

}
我用代码动态生成了10个button,但是我想写代码相应click事件,click一下就会出现一个messagebox,这是第i个button
这个该怎么实现呢?如果是一个button的话我会写,但是button数组就不会了。。。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧