日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
實(shí)現(xiàn)C#控件數(shù)組的功能

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ù)組,這樣就可以任意的使用了。代碼如下:

 
 
 
  1. private void button1_Click(object sender, System.EventArgs e)  
  2.  
  3. {  
  4. TextBox[] myTextBox = new TextBox[5];  
  5. myTextBox[0] = textBox1;  
  6. myTextBox[1] = textBox2;  
  7. myTextBox[2] = textBox3;  
  8. myTextBox[3] = textBox4;  
  9. myTextBox[4] = textBox5;  
  10.  
  11. for ( int i=0;i< 5;i++)  
  12. {  
  13. myTextBox[i].Text = "fill_1";  
  14. }  

1.2 利用窗體的控件數(shù)組。因?yàn)榇绑w里的控件,都被包括在Control里面,所以可以根據(jù)其類別加以區(qū)分。代碼如下:

 
 
 
  1. private void button2_Click(object sender, System.EventArgs e)  
  2. {  
  3. foreach(Control myControls in this.Controls)  
  4. {  
  5. if (myControls.ToString().IndexOf("TextBox") > 0 )  
  6. {  
  7. myControls.Text ="fill_2";  
  8. }  
  9.  
  10. }  

2.事件響應(yīng)

讓數(shù)組里的控件都響應(yīng)同一個(gè)相應(yīng)的事件,通過起在數(shù)組里***的標(biāo)識(shí),再將他們加以區(qū)分。下面一個(gè)例子,使5個(gè)textBox響應(yīng)同一個(gè)keypress事件。

自定義一個(gè)控件事件-- textBox_KeyPress ,代碼如下:

 
 
 
  1. private void textBox_KeyPress(object sender, 
    System.Windows.Forms.KeyPressEventArgs e)  
  2. {  
  3. TextBox box = (TextBox)sender;  
  4.  
  5. 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è)我們自定義的事件。同樣,對(duì)其它的textBox控件也做如上的屬性設(shè)置。這樣,5個(gè)textBox同時(shí)響應(yīng)一個(gè) keypress事件,而可以通過object sender的不同,可以加以區(qū)分。這樣就達(dá)到了數(shù)組的效果。以上介紹實(shí)現(xiàn)C#控件數(shù)組的功能。

【編輯推薦】

  1. C#記憶功能的地址欄控件
  2. 描述C#調(diào)用外部進(jìn)程
  3. C#語言操縱數(shù)據(jù)庫事務(wù)
  4. 概述C#語言異常處理
  5. 簡單介紹C#數(shù)組和函數(shù)

分享標(biāo)題:實(shí)現(xiàn)C#控件數(shù)組的功能
本文路徑:http://m.5511xx.com/article/djodejj.html