C#动态添加控件,并生成事件

来介绍一个动态添加窗体控件和对应事件的例子:

一、在窗体中拖入一个panel命名为panel1,我们将在这个panel中添加一串label控件并生成单击事件。

二、在load事件中加入如下代码:

 

代码
Label[] l = new Label[209];
            
this.panel1.Controls.Clear();
            
int top = 10;
            
int i = 0;
            
for (int n = 0; n < 209; n++)
            {
                
if (n % 19 == 0 && n != 0)
                {
                    i
++;
                    
if (i % 11 == 0)
                    {
                        top 
= 10 * n;
                        i 
= 0;
                    }
                    
else
                    {
                        top 
= 10;
                    }
                }
                l[n] 
= new Label();
                l[n].AutoSize 
= true;
                l[n].Top 
= top;
                l[n].Location 
= new Point(i * 80 + 2, top);
                l[n].Text 
= n.ToString();
                l[n].Visible 
= true;
                l[n].Click 
+= new EventHandler(l_Click);
                
this.panel1.Controls.Add(l[n]);
                top 
= top + 21;
            }

 

上面的代码在一个页面中绘制210个label每列20个,并对其进行单击事件绑定到l_Click();

下面是针对每一个label的单击事件:

 

private void l_Click(object sender, EventArgs e)
        {
            Label l 
= (Label)sender;
            MessageBox.Show(l.Text.ToString());
        }

 

结束。

posted @ 2009-12-24 17:20  古史漫谈  阅读(2598)  评论(0编辑  收藏  举报