C#如何動(dòng)態(tài)創(chuàng)建Label,及動(dòng)態(tài)label事件
C#如何動(dòng)態(tài)創(chuàng)建Label,及動(dòng)態(tài)label事件
根據(jù)上文動(dòng)態(tài)創(chuàng)建的label文章中做了2點(diǎn)的改動(dòng),也是為了方便測(cè)試。
第一點(diǎn):switch中的生成我們的label事件
我把他封裝起來了以便我新加了一個(gè)動(dòng)態(tài)label2的調(diào)用。
具體的改動(dòng)就是為每個(gè)labels都去寫了一個(gè)事件語句。
看似感覺不會(huì)動(dòng)態(tài)的生成我們對(duì)應(yīng)的事件,實(shí)際上是可以的。
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;
}
}接著,我們把事件實(shí)現(xiàn)一下
private void btn_Click(object sender, EventArgs e)
{
Label label = (Label)sender; //將觸發(fā)此事件的對(duì)象轉(zhuǎn)換為該Button對(duì)象
MessageBox.Show(string.Format("My i value is {0}!", label.Name));
//Console.WriteLine("My i value is {0}!", label.Name);
}運(yùn)行一下,這里是單擊對(duì)應(yīng)的按鈕都會(huì)提示對(duì)應(yīng)的label.Name的名字的。

這里,我們能看到我們的panel1模塊是空的,現(xiàn)在也為他填上動(dòng)態(tài)生成的label并且也實(shí)現(xiàn)他的動(dòng)態(tài)label.click事件。
效果大概是這樣

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)SMTP郵件附件發(fā)送功能詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)SMTP郵件附件發(fā)送的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#實(shí)現(xiàn)3步手動(dòng)建DataGridView的方法
這篇文章主要介紹了C#實(shí)現(xiàn)3步手動(dòng)建DataGridView的方法,實(shí)例分析了C#實(shí)現(xiàn)手動(dòng)創(chuàng)建DataGridView的原理與技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
c# 冒泡排序算法(Bubble Sort) 附實(shí)例代碼
這篇文章主要介紹了c# 冒泡排序算法,需要的朋友可以參考下2013-10-10
C#計(jì)時(shí)器的三種實(shí)現(xiàn)方法
這篇文章主要介紹了C#計(jì)時(shí)器的三種實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10
SuperSocket入門--Telnet服務(wù)器和客戶端請(qǐng)求處理
本文的控制臺(tái)項(xiàng)目是根據(jù)SuperSocket官方Telnet示例代碼進(jìn)行調(diào)試的,官方示例代碼:Telnet示例。下面跟著小編一起來看下吧2017-01-01
C#讀取多條數(shù)據(jù)記錄導(dǎo)出到Word之圖片輸出改造
這篇文章主要為大家詳細(xì)介紹了C#讀取多條數(shù)據(jù)記錄并導(dǎo)出到Word標(biāo)簽?zāi)0逯械膱D片輸出問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-11-11

