当前位置: 代码网 > it编程>编程语言>Asp.net > C#如何动态创建Label,及动态label事件

C#如何动态创建Label,及动态label事件

2025年04月02日 Asp.net 我要评论
c#如何动态创建label,及动态label事件根据上文动态创建的label文章中做了2点的改动,也是为了方便测试。第一点:switch中的生成我们的label事件我把他封装起来了以便我新加了一个动态

c#如何动态创建label,及动态label事件

根据上文动态创建的label文章中做了2点的改动,也是为了方便测试。

第一点:switch中的生成我们的label事件

我把他封装起来了以便我新加了一个动态label2的调用。

具体的改动就是为每个labels都去写了一个事件语句。

看似感觉不会动态的生成我们对应的事件,实际上是可以的。

private void switch_new_label(label[] labels, int index, int i)
        {
            switch (index)
            {
                case 0:
                    labels[i].text = "11";
                    labels[i].name = "11";
                    labels[i].location = new point(13 + 130 * i, 15);
                    labels[i].click += new eventhandler(btn_click); 
                    //将按钮的方法绑定到按钮的单击事件中btn.click是按钮的单击事件
                    break;
                case 1:
                    labels[i].text = "12";
                    labels[i].name = "12";
                    labels[i].location = new point(13 + 130 * i, 15);
                    labels[i].click += new eventhandler(btn_click); break;
                case 2:
                    labels[i].text = "13";
                    labels[i].name = "13";
                    labels[i].location = new point(13 + 130 * i, 15);
                    labels[i].click += new eventhandler(btn_click); break;
                case 3:
                    labels[i].text = "14";
                    labels[i].name = "14";
                    labels[i].location = new point(13 + 130 * i, 15);
                    labels[i].click += new eventhandler(btn_click); break;
                case 4:
                    labels[i].text = "15";
                    labels[i].name = "15";
                    labels[i].location = new point(13 + 130 * i, 15);
                    labels[i].click += new eventhandler(btn_click); break;
                default: break;
            }
        }

接着,我们把事件实现一下

private void btn_click(object sender, eventargs e)
        {
            label label = (label)sender; //将触发此事件的对象转换为该button对象
            messagebox.show(string.format("my i value is {0}!", label.name));
            //console.writeline("my i value is {0}!", label.name);
        }

运行一下,这里是单击对应的按钮都会提示对应的label.name的名字的。

这里,我们能看到我们的panel1模块是空的,现在也为他填上动态生成的label并且也实现他的动态label.click事件。

效果大概是这样

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com