精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

VB.NET控件數組正確使用方法分析

開發 后端
VB.NET控件數組的應用,幫戶開發人員大大提高了編程效率,我們可以直接使用Form容器的控件集合來操作VB.NET控件數組。

VB.NET編程語言的出現,為開發人員帶來了非常大的好處。我們今天將會學到其中一個比較重要的知識點,VB.NET控件數組的相關知識。VB.NET控件數組是位于一個窗體上共享同一名稱的一組同種類型控件。普通控件僅使用名稱就可以識別,而引用控件數組中的成員則需要同時使用名稱和索引。開發人員在 Visual Basic 6.0 以及更早的版本中使用控件數組主要有以下三個理由: #t#

1. 在循環中訪問數組中控件的屬性。

2. 向窗體動態添加新控件。

3. 允許一個事件例程與多個控件連接 。

VB.NET控件數組的使用,極大的方便了開發人員。然而,剛剛從Visual Basic6.0(以下簡稱VB6.0)過渡到Visual Basic.Net(以下簡稱VB.NET)的初學者卻發現,在VB.NET中似乎不能使用控件數組了。筆者仔細查閱了VB.NET的MSDN文檔發現,在 VB.NET 中,確實不再支持控件數組。原因是,VB.NET對事件模型作了很大的改動,引入了另外一種數據類型――控件集合模型,使控件數組沒有存在的必要。就像 VB6.0 中的控件數組可以共享事件一樣,VB.NET 中的事件模型允許任何事件處理程序都可以處理來自多個控件的事件,這就允許創建屬于不同類型但共享相同事件的控件組。

所謂控件集合是指包含在一個容器中的所有控件的總和,能夠創建控件集合的容器有:Form、Panel、GropBox等。程序運行時,可以通過訪問容器的Control屬性來得到該容器中的所有控件。

下面將演示如何通過控件集合來使用控件數組:

一、 直接使用Form容器的控件集合來使用VB.NET控件數組:

建立一個VB.NET項目,在Form1中添加三個TextBox控件,名稱分別為:TextBox1、TextBox2、TextBox3,一個Button控件。
雙擊Button,輸入如下代碼:

  1. Private Sub Button1_Click(ByVal sender 
    As System.Object, ByVal e As System.
    EventArgs) Handles Button1.Click  
  2. ‘下面的語句是通過數組元素的下標
    來訪問Form中的每一個元素。  
  3. Me.Controls.Item(0).Text = "集合中的第一個元素" 
  4. Me.Controls.Item(1).Text = "集合中的第二個元素" 
  5. Me.Controls.Item(2).Text = "集合中的第三個元素" 
  6. Me.Controls.Item(3).Text = "集合中的第四個元素" 
  7. End Sub 

運行項目后,點擊Button,看到的結果是:Form1中的所有控件(包括Button自己)的Text屬性都被修改了,同時還發現,最后加入的的控件變成了集合中的第一個元素(下標為0)。這個結果說明:

Form1中的所有控件已經自動構成了一個控件集合(控件數組),這個特點使得建立控件數組變得非常簡單。

在訪問這些控件時,除了可以通過控件名稱直接訪問外,還可以通過Contro.Item(n)屬性按下標訪問集合中的每一個控件;

集合中控件的類型可以不相同,這點和VB6.0完全不同;

集合中的下標順序是按照加入控件的順序倒排的;

VB.NET控件數組的特點讓人稍感不適的是,控件數組的下標是按加入順序的倒排續產生的,但程序員完全可以改變這個順序:在代碼編輯窗中點擊“#Region " Windows 窗體設計器生成的代碼”旁邊的“+”號,代碼展開后,找到如下代碼:

  1. Me.Controls.Add(Me.Button1)  
  2. Me.Controls.Add(Me.TextBox3)  
  3. Me.Controls.Add(Me.TextBox2)  
  4. Me.Controls.Add(Me.TextBox1) 

這個代碼順序就是控件數組的下標順序,只要改變這個順序就可以改變控件數組中每個以元素的下標。

在Form中構成控件數組非常方便,但也有一個小問題:一般來說,Form中的控件往往有很多種,系統建立控件集合的時候將會把其中的所有控件放在同一個集合中,這樣一來,程序員在寫代碼的時候有可能將每一個控件的下標混淆,為了解決這個問題,可以用Panel容器來根據需要將某類控件建立成控件數組,也就避免了上述問題。

建立的方法非常簡單:只需要在Form中添加一個Panel控件,然后將需要建立VB.NET控件數組的控件加入其中即可,然后用:Panel.Control.Item(n)來訪問其中的每一個控件。

二、 用代碼建立控件集合。

建立一個VB.NET項目,在Form中添加三個TextBox和一個Button控件,在代碼編輯窗口中輸入如下代碼:

  1. Dim TextboxArray As New ArrayList 
  2. ‘定義一個數組例表  
  3. Private Sub BiuldTextBoxArray() 
  4. ‘過程用來將Form上的三個TextBox加入
    到數組例表中  
  5. TextboxArray.Add(TextBox1)  
  6. TextboxArray.Add(TextBox2)  
  7. TextboxArray.Add(TextBox3)  
  8. End Sub  
  9. ‘讓Form在啟動的時候將三個TextBox
    控件加入到數組例表中,構成控件數組。  
  10. Private Sub Form1_Load(ByVal 
    sender As System.Object, ByVal e
     As System.EventArgs) Handles 
    MyBase.Load  
  11. BiuldTextBoxArray()  
  12. End Sub  
  13. ‘編寫Button點擊事件代碼,利用控件
    數組訪問三個TextBox控件  
  14. Private Sub Button1_Click(ByVal 
    sender As System.Object, ByVal e 
    As System.EventArgs) Handles Button1.Click  
  15. TextboxArray(0).text = "文本框第一個元素" 
  16. TextboxArray(1).text = "文本框第二個元素" 
  17. TextboxArray(2).text = "文本框第三個元素" 
  18. End Sub 

運行工程,點擊Button,發現三個TextBox都被修改了,效果和前面的方法一樣。

三、 在程序中動態添加VB.NET控件數組。

前面定義的控件數組都是在設計階段完成的,它要求,控件數組中的控件數量必須已知,也叫靜態控件數組;但很多時候要求,控件數組中的控件數量要用程序的某些運行情況來確定,這就要求,控件數組中的控件要能實現動態添加。

建立一個VB.NET工程,在Form上添加兩個Button,其中,Button1用來添加動態控件數組;Button2用來修改數組中每個控件的屬性。
在代碼編輯窗口中輸入如下代碼:

  1. Dim List As New ArrayList 
  2. ‘定義一個例表對象,用來集合數組控件  
  3. Private Sub Button1_Click(ByVal 
    sender As System.Object, ByVal e 
    As System.EventArgs) Handles 
    Button1.Click  
  4. Dim i As Integer  
  5. For i = 0 To 4 ‘利用循環語句動態加
    入控件數組。  
  6. Dim FirstTextBox As New TextBox 
  7. ‘定義文本框對象  
  8. Me.Controls.Add(FirstTextBox) 
  9. ‘將一個文本框控件加入到Form上  
  10. List.Add(FirstTextBox) 
  11. ‘將文本框控件加入到例表集合中  
  12. List.Item(i).top = i * List.Item(i).
    height + 20 ‘修改新加入控件在Form上的位置  
  13. List.Item(i).left = 100 
  14. FirstTextBox.TabIndex = i 
  15. ‘修改新加入控件的TabIndex值  
  16. List.Item(i).text = "TextBox" 
    & i.ToString ‘修改默認文本。  
  17. Next  
  18. End Sub 

用循環來訪問動態VB.NET控件數組中的控件。

  1. Private Sub Button2_Click(ByVal 
    sender As System.Object, ByVal e
     As System.EventArgs) Handles 
    Button2.Click  
  2. Dim i As Integer  
  3. For i = 0 To 4  
  4. List.Item(i).text = "第 "
     & i.ToString & " 個元素"  
  5. Next  
  6. End Sub 

運行項目,先點擊Button1,Form上將出現5個文本框,然后再點擊Button2,修改這五個文本框的Text屬性。

從這個實例看出,VB.NET中動態加入控件數組與在VB6.0中實現動態數組有一個顯著的不同:VB6.0中必須要有一個靜態的“控件種子”,而在VB.NET中已經不需要了。

四、 VB.NET控件數組的事件響應。

控件數組的最重要的特色之一就是讓一組控件響應同一個事件,在事件例程中接收控件具體某控件的Index值來分別處理處理具體問題,這點已經在VB6.0中表現得淋漓盡致了,它在VB.NET中同樣可以實現,只不過實現方式有了變化。由于在容器中的每一個控件只要不作特殊處理,都會自動構成了控件集合,這樣,只要對原有的事件例程作少量修改,就可以非常方便的實現用一個事件例程響應某個集合中所有控件產生的事件。

下面演示實現用同一個例程來處理兩個Button和一個TextBox發出的Click事件。

建立一個VB.NET項目,在Form上添加兩個Button,和一個TextBox。

在代碼編輯窗口中點擊“#Region " Windows 窗體設計器生成的代碼”旁邊的“+”號,代碼展開后,找到如下代碼并調整為下面的順序:

  1. Me.Controls.Add(Me.TextBox1)  
  2. Me.Controls.Add(Me.Button1)  
  3. Me.Controls.Add(Me.Button2) 

輸入如下代碼:

  1. Private Sub mControl_Click(ByVal 
    sender As System.Object, ByVal e 
    As System.EventArgs) Handles Button1.
    Click, Button2.Click, TextBox1.Click  
  2. Select Case sender.tabindex  
  3. Case 0  
  4. MessageBox.Show("你點擊了 Button1 按鈕")  
  5. Case 1  
  6. MessageBox.Show("你點擊了 Button2 按鈕")  
  7. Case 2  
  8. MessageBox.Show("你點擊了 TextBox1 按鈕")  
  9. End Select  
  10. End Sub 

在這段VB.NET控件數組使用代碼中:Private Sub mControl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, TextBox1.Click 是一個自定義事件,在Handles后面的語句表示:該例程將響應Button1, Button2, TextBox1控件發出的Click事件,如果還有其他控件,也可以放在后面,每一個控件名稱用“,”號隔開。
運行項目,分別點擊Form上面的三個控件就能體會到它的用法。

責任編輯:曹凱 來源: CSDN
相關推薦

2009-10-16 10:47:58

VB.NET創建控件數

2010-01-07 17:00:38

VB.NET控件數組

2010-01-20 17:47:54

VB.NET注釋

2010-01-21 17:23:05

VB.NET Radi

2010-01-12 15:54:47

VB.NET動態控件數

2009-10-26 14:25:09

VB.NET控件數組

2009-10-27 14:50:25

VB.NET控件數組

2010-01-07 17:10:01

VB.NET控件數組問

2009-10-22 13:09:19

VB.NET動態控件數

2010-01-21 14:06:03

VB.NET MyCl

2009-10-26 13:36:58

VB.NET Spli

2010-01-19 14:50:20

VB.NET集合

2010-01-19 09:36:06

VB.NET Func

2010-01-22 13:08:50

VB.NET創建數組

2009-10-27 18:06:41

VB.NET開發控件

2010-01-11 13:33:07

VB.NET使用數組

2009-10-16 14:07:18

VB.NET使用Mon

2009-10-13 15:09:19

VB.NET使用Tre

2010-01-07 15:25:11

VB.NET數組

2010-01-20 13:28:35

VB.NET計算數字
點贊
收藏

51CTO技術棧公眾號

处破女av一区二区| 亚洲精品影片| 国产精品久久久久一区二区三区 | 日韩精品伦理第一区| 五月婷婷激情五月| 天天综合一区| 图片小说视频色综合| 一本在线高清不卡dvd| 一区在线电影| 天堂中文在线视频| 精品亚洲aⅴ乱码一区二区三区| 久久久久久国产精品久久| 亚洲精品乱码久久久久久久久久久久| 国产精品高清一区二区| 香蕉乱码成人久久天堂爱免费| 色乱码一区二区三在线看| www.成人在线观看| 日韩电影免费在线看| 欧美激情a在线| 女人黄色一级片| 久久精品论坛| 欧美一二三四在线| 国产一级片黄色| av福利在线导航| 国产精品家庭影院| 日韩女优中文字幕| 天堂中文在线8| 成人免费看黄yyy456| 成人黄色在线播放| 波多野结衣家庭主妇| 亚洲人成久久| 欧美成人精品在线| 欧美一级特黄高清视频| 全球成人免费直播| 亚洲欧美日韩直播| 三级黄色片网站| 精品国产一区二区三区不卡蜜臂| 正在播放一区二区| 欧美成年人视频在线观看| 精精国产xxxx视频在线播放| 樱桃国产成人精品视频| ijzzijzzij亚洲大全| 成年人视频在线看| 国产亚洲精久久久久久| 麻豆av一区二区三区| 天堂91在线| av成人免费在线| 国产精品一区二区欧美| 亚洲国产精品suv| 国产精品伊人色| 国产精品久久久久久久午夜片| 国产一区二区中文字幕免费看| 99re只有精品| 国产一区二区三区久久久| 国产一区二区在线免费视频| 亚洲一线在线观看| 天堂在线资源库| 成人午夜免费福利| 日本欧美在线观看| 国产精品黄页免费高清在线观看| 免费观看成人毛片| 亚洲一区国产一区| 欧美在线视频a| 精产国品一区二区| 日韩成人dvd| 国产综合色香蕉精品| 91精品国自产| 国产麻豆精品视频| 成人av免费看| 天天干天天草天天射| 99久久777色| 久久大片网站| 国产高清免费av在线| 国产性天天综合网| 吴梦梦av在线| sm在线观看| 精品久久香蕉国产线看观看gif| 国产午夜伦鲁鲁| 国产精品扒开腿做爽爽爽视频软件| 色综合久久久久综合| 国产野外作爱视频播放| 亚洲欧洲一二区| 精品免费国产一区二区三区四区| 亚洲男女在线观看| 精品久久91| 欧美老少配视频| 麻豆久久久久久久久久| 免费的成人av| 国产精品v欧美精品v日韩| 天天干天天做天天操| 国产农村妇女毛片精品久久麻豆| 黄色www在线观看| а√天堂8资源在线| 在线精品视频一区二区三四| 91香蕉视频免费看| 精品欧美一区二区久久久久| 无码少妇一区二区三区| 日韩在线精品视频| 91精品国产高潮对白| 日本成人在线一区| 国产精品国产三级国产专区53| 九色在线观看| 一级精品视频在线观看宜春院| 国产精品丝袜久久久久久消防器材| 黑人一区二区三区| 亚洲精品久久久久| 青青操在线视频观看| 亚洲欧美日韩一区在线观看| 成人黄色av免费在线观看| 午夜视频免费看| 亚洲人成亚洲人成在线观看图片| 国产福利视频在线播放| 中文字幕久久精品一区二区| 亚洲日韩中文字幕在线播放| 久久一级黄色片| 麻豆国产精品官网| 欧美伦理一区二区| av在线最新| 欧美一区二区福利视频| 夫妇交换中文字幕| 9色精品在线| 91精品久久香蕉国产线看观看| 韩国精品视频| 欧美日韩国产中字| 激情av中文字幕| 一区二区电影在线观看| 国产精品久久久久久久久免费 | 欧美日韩大片在线观看| 美女性感视频久久| 日韩理论片在线观看| 涩涩视频在线免费看| 精品国产区一区| 69av.com| 国产成人aaa| eeuss中文| 欧美天堂一区| 色偷偷888欧美精品久久久| 日韩美一区二区| 久久婷婷综合激情| 91九色在线观看视频| 精品精品国产三级a∨在线| 欧美极品少妇xxxxx| 国产精品亚洲不卡a| 手机看片福利永久| 亚洲福利一区二区| 午夜福利三级理论电影| 欧美午夜一区二区福利视频| 91夜夜揉人人捏人人添红杏| 国产在线看片| 欧美一区二区在线观看| www.av成人| 激情久久久久久久久久久久久久久久| 一区二区在线中文字幕电影视频| 人人玩人人添人人澡欧美| 最近中文字幕mv在线一区二区三区四区| 国产精品suv一区| www激情久久| 日韩欧美xxxx| 日韩精品2区| 国产欧美在线播放| 老司机免费在线视频| 在线播放中文字幕一区| 精品无码久久久久成人漫画| 国产成人午夜电影网| 国产一区二区片| 久久夜色电影| 欧美中文在线视频| 二区三区在线播放| 欧美美女一区二区在线观看| 麻豆明星ai换脸视频| 国产成人综合亚洲91猫咪| 国产片侵犯亲女视频播放| 老牛影视av一区二区在线观看| 7777免费精品视频| 丁香在线视频| 91精品国产综合久久蜜臀 | 韩国中文免费在线视频| 精品视频全国免费看| 日本妇女毛茸茸| 99精品国产99久久久久久白柏| 激情婷婷综合网| 香蕉视频亚洲一级| 欧美大片免费观看网址| 色999韩欧美国产综合俺来也| 黑人久久a级毛片免费观看| 91福利在线免费观看| 成人小视频免费看| 国产一区二区三区免费播放| 日本午夜激情视频| 国产一区二区三区探花| 亚洲直播在线一区| 亚洲美女尤物影院| 久久精品国产欧美亚洲人人爽| 青娱乐一区二区| 国产三线在线| 伊人久久久久久久久久久久久 | 欧美日韩一区二区三区不卡| 18岁成人毛片| 久久久久久久免费视频了| 色婷婷.com| 亚洲一区二区三区高清| 精品一区二区成人免费视频 | 久久精品国产亚洲AV无码麻豆| 久久久三级国产网站| 日韩精品在线播放视频| 性一交一乱一区二区洋洋av| 免费观看中文字幕| 久久99国内| 不卡视频一区二区| 欧美日韩破处视频| 57pao国产精品一区| 91三级在线| 在线不卡国产精品| 四虎在线观看| 最新国产乱人伦偷精品免费网站| 久久久极品av| 免费毛片在线| 亚洲精品一线二线三线| 亚洲一级片免费看| 色乱码一区二区三区88| 日韩激情一区二区三区| 亚洲男人天堂一区| 久久久久99精品成人| 久久只精品国产| 艳妇乳肉豪妇荡乳xxx| 精品一区二区综合| 日本免费观看网站| 男人的天堂亚洲在线| 欧美国产日韩激情| 中文字幕免费一区二区| 亚洲日本理论电影| 久久国产电影| 五月婷婷综合色| 国产精品手机在线播放| 久久人人97超碰人人澡爱香蕉| 国产在线播放精品| 国产99在线播放| 99这里只有精品视频| 91情侣在线视频| 日韩免费一级| 99在线热播| 国产精品一线| 国产偷国产偷亚洲高清97cao| www.精品在线| 一本一道久久综合狠狠老精东影业| www.亚洲成人网| 欧美一区国产在线| 欧美精品一区二区性色a+v| 亚洲国产精品成人| 国产树林野战在线播放| 亚洲精品午夜av福利久久蜜桃| 在线视频不卡一区二区| 国产精品精品| 经典三级在线视频| 欧美精品97| 欧美精品久久久久久久久久久| 在线看片日韩| 少妇高清精品毛片在线视频 | 欧洲一区av| 亚洲欧美国产另类| melody高清在线观看| 色系列之999| 最新av在线播放| 欧美激情在线观看| 综合另类专区| 国产免费一区二区三区在线观看| 日韩大陆av| 成人午夜影院在线观看| 卡通动漫精品一区二区三区| 久久riav二区三区| 欧美性感美女一区二区| 吴梦梦av在线| 亚洲欧洲综合| 别急慢慢来1978如如2| 久久国产麻豆精品| 日本少妇xxx| 26uuu色噜噜精品一区| 国产三级短视频| 亚洲另类一区二区| 五月天综合激情网| 欧美日韩国产综合一区二区 | 日韩av免费| 成人午夜一级二级三级| 成人免费直播在线| 日韩精品最新在线观看| 欧美精品一卡| 成人在线观看黄| 国产剧情av麻豆香蕉精品| 大地资源二中文在线影视观看| 中文文精品字幕一区二区| 欧美黄片一区二区三区| 在线看一区二区| www.黄色国产| 伊是香蕉大人久久| 国产桃色电影在线播放| 国产精品久久久一区| 亚洲综合色婷婷在线观看| 欧美一区二区三区四区在线观看地址 | 成人毛片在线观看| 女人又爽又黄免费女仆| 亚洲免费在线视频| 国产精品久久久久久久久夜色| 欧美一区二区日韩| 国产黄色片在线播放| 欧美激情视频一区| 久久久免费人体| 精品在线不卡| 激情婷婷久久| 五月天婷婷亚洲| www国产成人免费观看视频 深夜成人网| 成人欧美一区二区三区黑人一| 午夜精品久久久久久久久久久| 中文字幕在线网站| 亚洲美女性生活视频| 色婷婷在线播放| 国产免费一区二区三区在线能观看| 久久久久影视| 日本香蕉视频在线观看| 国产一区二区中文字幕| www色com| 日韩欧美精品在线观看| 男人天堂手机在线观看| 欧美成人免费观看| 伦一区二区三区中文字幕v亚洲| 久久精品国产理论片免费| 欧美日本三区| 中文字幕第22页| 国产精品美日韩| 男人天堂视频在线| 亚洲欧美成人网| 国模精品视频| 国产精品日韩欧美一区二区| 欧美日韩午夜| 亚洲成人福利视频| 一区二区欧美国产| av免费观看网址| 久久国产精品久久久久久| 91精品国产一区二区在线观看| 日韩精品欧美在线| 日av在线不卡| 亚洲不卡的av| 欧美日韩一区二区不卡| www.在线播放| 国产精品一区二区三区成人| 欧美日韩中文一区二区| 999在线免费视频| 国产丝袜欧美中文另类| 黄色网址中文字幕| 亚洲夜晚福利在线观看| 69堂免费精品视频在线播放| 欧美在线播放一区二区| 日韩精品电影一区亚洲| 女人黄色一级片| 欧美日韩电影在线播放| 国产素人视频在线观看| 18成人在线| 国内在线观看一区二区三区| 久久无码专区国产精品s| 亚洲风情在线资源站| 婷婷开心激情网| 欧美成人中文| 国产精品igao| 国产精品国产三级国产aⅴ原创| 亚洲无码精品在线观看| 久久精品99久久久香蕉| 色妞ww精品视频7777| 欧洲精品在线播放| 91麻豆免费看| 一区二区视频免费观看| 九九九久久久久久| 欧美18xxxx| 欧美一级黄色影院| 亚洲欧洲日韩在线| www三级免费| 欧美一级高清免费播放| 成人精品中文字幕| 亚洲熟女乱综合一区二区| 精品欧美一区二区三区| www在线播放| 成人羞羞视频免费| 日韩高清国产一区在线| 福利所第一导航| 精品视频—区二区三区免费| 欧美黄页免费| 成人av在线播放观看| 久久综合丝袜日本网| 亚洲一区在线观| 国产69精品久久久久9| 国产一区二区三区天码| 丰满人妻一区二区三区53视频| 欧美视频13p| 手机电影在线观看| 日产中文字幕在线精品一区| 国产精品一区二区三区四区| 青草视频在线观看免费| 久久香蕉国产线看观看网| 亚洲aaa级| 中文字幕无人区二| 欧美日韩精品一区二区三区| 成人免费网站观看|