在一个窗体中增加20个BUTTON,代码如下:
for(int i =0;i<20;i++)
{
Button btn=new Button();
btn.Text=(i+1).ToString();
btn.Location=new Point(10,i*10+2);
btn.Click+=new EventHandler();
this.Controls.Add(btn);
}
有两个问题,结果是只看到重叠的几个BUTTON,
我要实现的效果是,生成四行五列的20个按钮,btn.Click+=new EventHandler();,怎么设置这个事件,我另外写了个方法比如名叫a(),btn.Click+=new EventHandler(a());,这样就报错.
我是新手,请各位能指点下.
------解决方案--------------------
- C# code
private void Form1_Load(object sender, EventArgs e) { for (int i = 0; i < 20; i++) { int j = i / 5; //第j-1行 int x = 10+(i % 5)*80; //80列间隔 int y = j * 30; //30行间隔 Button btn = new Button(); btn.Text = (i + 1).ToString(); btn.Location = new Point(x, y); btn.Click += new EventHandler(btn_Click); this.Controls.Add(btn); } } void btn_Click(object sender, EventArgs e) { MessageBox.Show("a"); }
------解决方案--------------------
看看系统生成的是怎么写的,copy一个就好,或者自己重新写一个委托