本文主要是介绍C#如何动态创建Label,及动态label事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教...
C#如何动态创建Label,及动态label事件
根据上文动态创建的label文章中做了2点的改动,也是为了方便测试。
第一点:switch中的生成我们的label事件
我把他封装起来了以便我新加了一个动态label2的调用。
具体的改动就是为每个labels都去写了一个事件语句。
看似感觉不会动态的生成我们对应的事件,实际上是可以的。
private vChina编程oid 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].NameChina编程 = "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 = "15www.chinasem.cn"; 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; //将触发此事件的对象转换为该Buphptton对象 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事件。
效果大概是这样
总结
这篇关于C#如何动态创建Label,及动态label事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!