用代码生成的lable,如何给她注册事件?

qq_41222758 2019-09-11 08:30:33
用代码生成的lable,如何给她注册事件?比如:
Label lable = new Label(); //新建lable
for (int i =1; i < 100; i++)
{
lable.Name = "lable" + i; //给lable 命名
lable.AutoSize = false;
lable.Location = new Point(2, 66);
lable.Size = new Size(298, 64);
lable.TextAlign = ContentAlignment.MiddleCenter;
lable.Text = "haole";
lable.Font = new Font("宋体", 15);
lable.BorderStyle = BorderStyle.Fixed3D;
this.Controls.Add(lable); //窗体创建lable
this.button1.Location = new Point(lable.Location .X, lable.Location.Y + 67);


}
我想给新建的lable i注册click事件,我该怎么注册?
...全文
156 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
damao_94 2019-10-22
  • 打赏
  • 举报
回复
引用 11 楼 qq_41222758 的回复:
TO:封爱,还有一点,我用代码动态生成的多个lable,他的name属性是多少?我怎么像调用lable1,lable2那样调用生成的lable?帮忙解决,多给积分!
代码生成的lablel基本上是不能用他的name调用,只能把他存放到一个list<label>里面,再像listlabel[1].进行调用
货郎大叔 2019-09-11
  • 打赏
  • 举报
回复
sender转换成label
stherix 2019-09-11
  • 打赏
  • 举报
回复
引用 2 楼 qq_41222758 的回复:
我刚试了一下,注册了事件,但是我想改变这个lable的颜色的时候,发现没有这个控件啊
事件里 sender就是源控件 (sender as Label)可以获取到
qq_41222758 2019-09-11
  • 打赏
  • 举报
回复
我刚试了一下,注册了事件,但是我想改变这个lable的颜色的时候,发现没有这个控件啊
stherix 2019-09-11
  • 打赏
  • 举报
回复
lable.OnClick += 按两次Tab
by_封爱 版主 2019-09-11
  • 打赏
  • 举报
回复
name就是一个控件的唯一标识 你给不重复的即可... 无实际意义 一般都用固定名+数字.. 因为可以循环findcontrol
qq_41222758 2019-09-11
  • 打赏
  • 举报
回复
TO:封爱,还有一点,我用代码动态生成的多个lable,他的name属性是多少?我怎么像调用lable1,lable2那样调用生成的lable?帮忙解决,多给积分!
by_封爱 版主 2019-09-11
  • 打赏
  • 举报
回复
代码有问题 首先

 Label label= new Label(); 
for (int i =1; i < 100; i++)
{
 label.xxxx
}
你这种方式的话.最终页面肯定只有一个(最后一个)label显示,其他都覆盖掉了吧? 因为自始至终也只有一个label.. 其次给label事件 可以采用label.click+= 2次tab生成一个事件 或者

label.click+=(sender,event)=>{
   //你的代码
};
当然 你点点击某个label 就执行当label的事件 那么你需要把sender转换成label

label.click+=(sender,event)=>{
    var lb=sender as Label ;
    //lb里的属性  就是你for循环赋值的属性...
};
大鱼> 2019-09-11
  • 打赏
  • 举报
回复
https://blog.csdn.net/wsp2359482671/article/details/78679110
大鱼> 2019-09-11
  • 打赏
  • 举报
回复
就是你再拖拽的时候自动增加的代码用手敲出来
正怒月神 2019-09-11
  • 打赏
  • 举报
回复
用代码给他加事件啊。。。。 就是 xxx.Click+=你自己定义的事件
巴士上的邂逅 2019-09-11
  • 打赏
  • 举报
回复
是不是需要把Label lable = new Label();放进for里面

110,499

社区成员

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

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

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