精品欧美一区二区三区在线观看 _久久久久国色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一区二区三区在线观看| 日韩精品免费一区二区三区竹菊| 欧美性xxxxhd| 夜夜爽99久久国产综合精品女不卡| 国产日韩精品suv| 国产亚洲精品v| 久久精品国产91精品亚洲 | 久久精品久久久精品美女| 精品国偷自产在线视频| 欧美xxxxx精品| jizzjizz少妇亚洲水多| 亚洲高清免费在线| 亚洲精品视频一二三| 蜜桃av噜噜一区二区三区麻豆| 秋霞成人午夜伦在线观看| 色综合色综合久久综合频道88| a级大片在线观看| 亚洲一区二区三区日本久久九| 欧美性猛交xxxx| 久操手机在线视频| 91社区在线高清| www..com久久爱| 91精品在线一区| 国产真人无遮挡作爱免费视频| 黄色一区二区三区四区| 日韩一二三在线视频播| 偷拍女澡堂一区二区三区| 亚洲精品影片| 91精品欧美一区二区三区综合在 | 性色av无码久久一区二区三区| 亚洲第一论坛sis| 亚洲成色www8888| 国产又粗又猛又爽又黄| 成人在线免费| 欧美又粗又大又爽| 国产h视频在线播放| 麻豆福利在线观看| 亚洲一区二区三区中文字幕在线| 一区二区日本伦理| av网站在线播放| 久久影音资源网| 国产欧美亚洲日本| 精品人妻伦一二三区久久 | 国产伦精品免费视频| 日本视频网站在线观看| 欧美一级播放| 57pao精品| 特级毛片www| 国产精品一二| 热久久这里只有| 免费看毛片网站| 日日欢夜夜爽一区| 国产精品国语对白| 中文无码av一区二区三区| 久久裸体视频| 国产精品美女主播| 亚洲最大成人av| 麻豆精品久久久| 成人午夜在线视频一区| 九色视频成人porny| 一个人看的www日本高清视频| 日韩国产在线一| 国产精品一久久香蕉国产线看观看| 黄色在线视频网址| 视频在线观看一区| 茄子视频成人在线| 中文在线资源天堂| 精品在线播放午夜| 97免费资源站| 天天摸夜夜添狠狠添婷婷| 99精品视频在线观看免费| 裸体丰满少妇做受久久99精品| 欧美女子与性| 中文av字幕一区| 8x8x华人在线| 九九色在线视频| 欧美日韩午夜剧场| 男人女人黄一级| 综合久久伊人| 日韩精品视频观看| 国产无遮挡在线观看| 欧美一区久久| 国产69精品久久久久久| 在线免费一级片| 国产.欧美.日韩| 欧美福利精品| а√中文在线8| 黄色91在线观看| 91高清国产视频| 第一区第二区在线| 国产一区二区三区在线观看视频| 秋霞欧美一区二区三区视频免费| 尤物网精品视频| 国产精品96久久久久久又黄又硬| 国产喷水吹潮视频www| 99精品久久99久久久久| 在线免费一区| 中文字幕乱码中文乱码51精品| 欧美日韩不卡在线| 久久人人妻人人人人妻性色av| 全球成人免费直播| 欧美精品福利在线| 真实新婚偷拍xxxxx| 成人永久免费视频| 亚洲 欧洲 日韩| 欧美大片免费高清观看| 欧美一卡二卡三卡| 欧洲性xxxx| 亚洲人体偷拍| 成人中文字幕在线观看| 精品亚洲综合| 亚洲线精品一区二区三区| 色播五月综合网| 卡一精品卡二卡三网站乱码| 日韩在线观看你懂的| 日韩精品一区三区| 国产剧情一区二区三区| 日韩av电影在线观看| 不卡av免费观看| 91精品国产综合久久婷婷香蕉| 右手影院亚洲欧美| 在线播放亚洲| caoporen国产精品| 久操视频在线观看| 欧美三区免费完整视频在线观看| 中文在线一区二区三区| 欧美日韩亚洲一区| 91中文字幕一区| 中文字幕日本在线观看| 91成人网在线| av中文字幕免费观看| 99精品热视频只有精品10| 91精品视频专区| 日本三级在线视频| 欧美系列一区二区| 永久免费av无码网站性色av| 先锋a资源在线看亚洲| 国产精品三区在线| 美女尤物在线视频| 欧美tk—视频vk| 欧美极品视频在线观看| 国产一区二区三区不卡在线观看 | 成人高清在线| 色老综合老女人久久久| 久久精品老司机| 久久久777| 日本不卡二区| av成人在线播放| 日韩在线国产精品| av官网在线观看| 亚洲精品免费在线播放| 久久久久亚洲av片无码v| 欧美99在线视频观看| 99re视频在线播放| 123区在线| 亚洲精品国产欧美| www.com亚洲| 亚洲国产精品ⅴa在线观看| 中文字幕在线观看第三页| 成人羞羞在线观看网站| 国产欧美精品一区二区三区-老狼| 91av资源在线| 制服.丝袜.亚洲.中文.综合| wwwav国产| caoporm超碰国产精品| 啊啊啊一区二区| 欧美一级精品片在线看| 成人黄色午夜影院| 97天天综合网| 国产亚洲一区二区在线| 国产一区二区三区黄片| 一区二区三区四区在线播放 | 亚洲精品动态| 国产狼人综合免费视频| 另类视频在线| 亚洲奶大毛多的老太婆| 一级特黄特色的免费大片视频| 亚洲毛片av在线| 小毛片在线观看| 青青草国产成人av片免费| 国产卡一卡二在线| 国产毛片久久久| 国产精品美女999| 成人在线免费看黄| 亚洲毛片在线看| 97成人在线观看| 精品国产91乱高清在线观看| 国产精品一区二区亚洲| 丁香一区二区三区| 天堂在线资源视频| 亚洲视频精品| 一区二区三区四区在线视频| 国产精品115| 国产啪精品视频| 国产精品vvv| 久久久av网站| 日韩大胆人体| 欧美r级在线观看| 香蕉污视频在线观看| 亚洲综合网站在线观看| www色com| 91在线精品一区二区| 手机av在线网| 三级在线观看一区二区| 免费毛片网站在线观看| 久久久久久久久久久久久久久久久久| 黄色99视频| 亚洲高清在线一区| 国产日韩换脸av一区在线观看| 中文av在线全新| 久久久久久久久久久人体| 欧美高清视频| 亚洲图片欧美午夜| 五月婷婷激情在线| 欧美成人伊人久久综合网| 中文字幕人成人乱码亚洲电影| 亚洲高清不卡在线| 欧美成人国产精品高潮| 中文字幕亚洲不卡| 亚洲精品国产精品国自产网站| av不卡在线观看| wwwww在线观看| 国产尤物一区二区| 久热在线视频观看| 久久精品久久久精品美女| 亚洲免费av一区二区三区| 亚洲欧美日本视频在线观看| 久久久亚洲国产精品| 欧美96在线丨欧| 精品91一区二区三区| 午夜激情久久| 亚洲欧美日韩国产yyy| 欧美日韩精品一区二区视频| 日本一区二区三区www| 午夜先锋成人动漫在线| 久精品国产欧美| 欧美亚洲色图校园春色| 国产精品亚洲一区| 大奶一区二区三区| 国产精品美女诱惑| 另类春色校园亚洲| 国内精品**久久毛片app| 岛国精品一区| 免费精品视频一区二区三区| 西野翔中文久久精品字幕| 蜜桃传媒视频麻豆一区 | 欧洲精品久久久久毛片完整版| 国产成人午夜视频网址| 第四色男人最爱上成人网| 国产精品国产亚洲伊人久久| 国产美女久久| 国产欧美日韩91| 国产在线不卡一区二区三区| 亚洲专区中文字幕| 亚洲一区二区电影| 黄色99视频| 欧美日韩性在线观看| 亚洲欧美国产精品桃花| 小小影院久久| 欧洲精品在线播放| 亚洲欧美清纯在线制服| 亚洲欧美在线精品| 国产一区二区日韩精品| 久草免费资源站| 99精品视频在线观看| 少妇久久久久久久久久| 国产精品久久久久久户外露出| 三级av在线免费观看| 亚洲一区二区精品视频| 中文字幕视频网站| 欧美日韩激情一区二区三区| 91片黄在线观看喷潮| 精品久久一二三区| 可以在线观看的av| 久久精品国产久精国产思思| 国内老司机av在线| 国产97色在线|日韩| 韩国三级成人在线| 久久综合入口| 久久久国产精品| 国产成人黄色片| 韩国成人在线视频| 亚洲精品乱码久久久久久不卡| 欧美国产综合一区二区| 久久久久成人网站| 日本道免费精品一区二区三区| 国产欧美日韩成人| 精品夜色国产国偷在线| 九七久久人人| 日本道色综合久久影院| 美女国产精品久久久| 蜜桃视频在线观看91| 中文字幕亚洲综合久久五月天色无吗''| 加勒比成人在线| 久久99国产精品久久| 精品黑人一区二区三区观看时间| 国产精品剧情在线亚洲| 1级黄色大片儿| 在线电影欧美成精品| 欧美日韩国产综合视频| 欧美国产精品va在线观看| 欧美日韩精品一区二区三区视频| 懂色中文一区二区三区在线视频 | 91黄色在线看| 久久精品久久久精品美女| 少妇毛片一区二区三区| 亚洲激情av在线| 亚洲天堂手机在线| 亚洲嫩模很污视频| 18aaaa精品欧美大片h| 亚洲xxx自由成熟| 欧美一区二区三| 久久无码高潮喷水| 国产很黄免费观看久久| 色偷偷男人天堂| 色美美综合视频| 日韩在线观看视频一区| 欧美日韩成人在线视频| 99久久这里有精品| 亚洲巨乳在线观看| 日日摸夜夜添夜夜添精品视频 | 韩剧1988在线观看免费完整版| 99精品在线免费观看| 亚洲国产一区二区三区在线播| 亚洲综合不卡| 2一3sex性hd| 亚洲高清三级视频| 成人午夜免费在线观看| 欧美理论电影在线观看| 99久久这里有精品| 日本久久高清视频| 精品一区二区三区在线观看| 貂蝉被到爽流白浆在线观看| 欧美中文字幕一区二区三区亚洲| 国产主播福利在线| 国产成人免费av电影| 国产成人ay| 亚洲中文字幕久久精品无码喷水 | 亚洲成人a级网| 久草在线视频福利| 国产高清自拍99| 亚洲精品专区| 波多野结衣先锋影音| 精品久久久视频| 国产小视频在线观看| 国产精品96久久久久久| 日韩1区在线| www.cao超碰| 亚洲乱码日产精品bd| 亚洲精品久久久久avwww潮水| 九九精品在线观看| 成人福利一区| 乱妇乱女熟妇熟女网站| 2014亚洲片线观看视频免费| 久久影视中文字幕| 中文字幕日韩专区| 91丨精品丨国产| 亚洲国产精品无码观看久久| av网站一区二区三区| 中文字幕第15页| 中文字幕日韩欧美在线视频| 国产精品1区| 国产精品久久..4399| 久久精品欧美一区二区三区麻豆| 特级西西444www高清大视频| 久久精品成人欧美大片| 国产精品毛片视频| 免费日韩视频在线观看| 国产精品国产三级国产有无不卡 | 最近2019中文字幕mv免费看| 96视频在线观看欧美| 人妻无码久久一区二区三区免费| 久久久美女艺术照精彩视频福利播放| 日韩精品在线一区二区三区| 久久精品成人欧美大片古装| 国内精品麻豆美女在线播放视频 | 国产成人亚洲精品自产在线| 亚洲香蕉成人av网站在线观看 | 久久久久久99| 美女诱惑一区二区| 久久久久久免费观看| 亚洲色图50p| 日韩精品一区二区三区中文字幕| 日韩精品视频一区二区在线观看| 亚洲国产成人午夜在线一区| 亚洲av无码一区二区乱子伦| 日本久久久久久久久久久| 国产精品久久久久久影院8一贰佰| 久久久久久久人妻无码中文字幕爆| 日本高清无吗v一区| 欧美亚洲天堂| 亚洲人成影视在线观看| 处破女av一区二区| 中文字幕一二三四| 亚洲 日韩 国产第一| 久久福利影院| 欧美图片一区二区| 欧美一区二区三区免费在线看| 午夜精品久久久久久久久久蜜桃|