這篇文章主要講解了“如何實(shí)現(xiàn)C#控件數(shù)組的功能”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何實(shí)現(xiàn)C#控件數(shù)組的功能”吧!
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、碾子山ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的碾子山網(wǎng)站制作公司
Dot.Net里取消了C#控件數(shù)組,這讓習(xí)慣了使用VB控件的程序員非常不適應(yīng)。有什么辦法能夠?qū)崿F(xiàn)C#控件數(shù)組的功能嗎?答案是肯定的。
眾所周知,C#控件數(shù)組最主要的兩個(gè)優(yōu)點(diǎn):可以循環(huán)附值;可以響應(yīng)同一個(gè)事件。從而大大簡化了代碼。下面根據(jù)這兩個(gè)方面,舉一個(gè)例子。
新建一個(gè)工程,在窗體上添加5個(gè)textbox(textBox1...textBox5)和2個(gè)button (button1、button2)。
1.循環(huán)附值
總的來說,有兩種實(shí)現(xiàn)方法:
1.1 定義動(dòng)態(tài)的控件數(shù)組。因?yàn)镈ot.Net里支持動(dòng)態(tài)的控件數(shù)組,所以我們可以把已設(shè)計(jì)好的控件,附給動(dòng)態(tài)的數(shù)組,這樣就可以任意的使用了。代碼如下:
private void button1_Click(object sender, System.EventArgs e) { TextBox[] myTextBox = new TextBox[5]; myTextBox[0] = textBox1; myTextBox[1] = textBox2; myTextBox[2] = textBox3; myTextBox[3] = textBox4; myTextBox[4] = textBox5; for ( int i=0;i< 5;i++) { myTextBox[i].Text = "fill_1"; } }
1.2 利用窗體的控件數(shù)組。因?yàn)榇绑w里的控件,都被包括在Control里面,所以可以根據(jù)其類別加以區(qū)分。代碼如下:
private void button2_Click(object sender, System.EventArgs e) { foreach(Control myControls in this.Controls) { if (myControls.ToString().IndexOf("TextBox") > 0 ) { myControls.Text ="fill_2"; } } }
2.事件響應(yīng)
讓數(shù)組里的控件都響應(yīng)同一個(gè)相應(yīng)的事件,通過起在數(shù)組里***的標(biāo)識,再將他們加以區(qū)分。下面一個(gè)例子,使5個(gè)textBox響應(yīng)同一個(gè)keypress事件。
自定義一個(gè)控件事件-- textBox_KeyPress ,代碼如下:
private void textBox_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e){
TextBox box = (TextBox)sender;
MessageBox.Show(this,"you choose " + box.Name + " and you keypress " +
e.KeyChar.ToString() ,"try" ,MessageBoxButtons.OK );}
選定textBox1,按F4顯示其屬性頁,選擇"Events"按鈕(就是那個(gè)小閃電),列出了textBox1的所有事件,在keypress里寫我們想讓他相應(yīng)的事件的名字--textBox_KeyPress,這樣,當(dāng)textBox1產(chǎn)生keypress事件時(shí),他相應(yīng)的是 textBox_KeyPress這個(gè)我們自定義的事件。同樣,對其它的textBox控件也做如上的屬性設(shè)置。這樣,5個(gè)textBox同時(shí)響應(yīng)一個(gè) keypress事件,而可以通過object sender的不同,可以加以區(qū)分。這樣就達(dá)到了數(shù)組的效果。以上介紹實(shí)現(xiàn)C#控件數(shù)組的功能。
感謝各位的閱讀,以上就是“如何實(shí)現(xiàn)C#控件數(shù)組的功能”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何實(shí)現(xiàn)C#控件數(shù)組的功能這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!