日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#定義動態(tài)控件數(shù)組剖析

本文向大家介紹C#定義動態(tài)控件數(shù)組,可能好多人還不知道動態(tài)控件數(shù)組,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、金壇網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、金壇網(wǎng)絡(luò)營銷、金壇企業(yè)策劃、金壇品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供金壇建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

DotNet里取消了控件數(shù)組,這讓習(xí)慣了使用VB控件的程序員非常不適應(yīng)。有什么辦法能夠?qū)崿F(xiàn)控件數(shù)組的功能嗎?答案是肯定的。

眾所周知,控件數(shù)組最主要的兩個優(yōu)點(diǎn):可以循環(huán)附值;可以響應(yīng)同一個事件。從而大大簡化了代碼。下面根據(jù)這兩個方面,舉一個例子。

新建一個工程,在窗體上添加5個textbox(textBox1...textBox5)和2個button (button1、button2)。

一.循環(huán)附值

總的來說,有兩種實(shí)現(xiàn)方法:

1.C#定義動態(tài)控件數(shù)組,DotNet里支持動態(tài)的控件數(shù)組,所以我們可以把已設(shè)計(jì)好的控件,附給動態(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. }  

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. }  

二.事件響應(yīng)

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

自定義一個控件事件-- 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"按鈕(就是那個小閃電),列出了textBox1的所有事件,在keypress里寫我們想讓他相應(yīng)的事件的名字--textBox_KeyPress,這樣,當(dāng)textBox1產(chǎn)生keypress事件時(shí),他相應(yīng)的是 textBox_KeyPress這個我們自定義的事件。同樣,對其它的textBox控件也做如上的屬性設(shè)置。這樣,5個textBox同時(shí)響應(yīng)一個 keypress事件,而可以通過object sender的不同,可以加以區(qū)分。這樣就達(dá)到了C#定義動態(tài)控件數(shù)組的效果。

【編輯推薦】

  1. C# this關(guān)鍵字詳解
  2. C#調(diào)用析構(gòu)方法詳解
  3. C#釋放托管資源簡單描述
  4. C#單路代理簡單分析
  5. C#文法產(chǎn)生式概述

網(wǎng)頁名稱:C#定義動態(tài)控件數(shù)組剖析
鏈接分享:http://www.dlmjj.cn/article/dhjehsg.html