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

本文介绍了如何在C#中动态地向Panel控件添加多个Label,并为每个Label绑定单击事件,当点击Label时会弹出消息框显示该Label的文字内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

 

ExpandedBlockStart.gif代码
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());
        }

 

结束。

转载于:https://www.cnblogs.com/gjs85/archive/2009/12/24/1631578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值