不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 知識大全 > 知識百科 > 百科知識 > 什么是控件數(shù)組控件數(shù)組的概述

什么是控件數(shù)組控件數(shù)組的概述

時間: 謝君787 分享

什么是控件數(shù)組控件數(shù)組的概述

  控件數(shù)組是一組具有相同名稱和類型的控件的集合,通過各自的編號(下標(biāo))來識別,并且可以共享事件。那么你對控件數(shù)組了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是控件數(shù)組的內(nèi)容,希望大家喜歡!

  控件數(shù)組的概述

  在設(shè)計時,有三種辦法創(chuàng)建控件數(shù)組:更改控件的Index屬性、將已有的控件復(fù)制到同一窗體中、使多個同類型的控件的名稱(Name屬性)相同。

  更改Index屬性

  選擇一個控件,按F4打開“屬性”面板,找到“Index”屬性,將其更改為一個0和32767之間(包括0和32767)的且未被用于其他控件索引值的整數(shù),即可創(chuàng)建一個以原控件名稱為名稱的控件數(shù)組。

  復(fù)制已有控件

  若已有一控件名為Command,右擊該控件,單擊快捷菜單中的“復(fù)制”,再右擊控件所在窗體(或其中的一個類似Frame的容器控件),單擊快捷菜單中的“粘貼”,VB會彈出一個對話框,顯示“已經(jīng)有一個控件為 'Command'。創(chuàng)建一個控件數(shù)組嗎?”單擊“是”按鈕,就可創(chuàng)建一個名稱(Name屬性)為“Command”的控件數(shù)組,被復(fù)制的控件為Command(0),粘貼的控件為Command(1)。

  使控件名相同

  若已有一控件名為Command,將另一同類型控件的Name屬性改為“Command”后,VB也會彈出一個對話框,單擊“是”即可創(chuàng)建一控件數(shù)組。

  運行時增減對象添加對象

  在VB中,不能在運行時直接創(chuàng)建一個原先不存在的控件數(shù)組,但可以使用Load函數(shù)為已存在的控件數(shù)組添加同類型的控件。

  假設(shè)已有一個控件數(shù)組名為“Command”,數(shù)組中只有一個對象“Command(0)”,在運行時,可以通過下面的代碼增加一個對象“Command(1)”。

  PrivateSubCommand_Click(IndexAsInteger)'控件數(shù)組中控件的點擊事件LoadCommand(1)'添加Command(1)Command(1).Top=0'將Command(1)移至頂端Command(1).Visible=True'將Command(1)設(shè)置為可見EndSub

  說明:

  此處的Load函數(shù)的語法如下:

  Load Object (Index As Integer)

  Load函數(shù)參數(shù)

  參數(shù)

  描述

  Object

  必選,對象表達(dá)式,要添加控件的控件數(shù)組名稱。

  Index

  必選,數(shù)值表達(dá)式,0~32767的一個整數(shù),被添加的控件在控件數(shù)組中的索引值(Index屬性),該值必須未被引用。

  運行時在一個控件數(shù)組中添加了新的控件后,新控件除Index、TabIndex和Visible屬性外,其余屬性與該控件數(shù)組中Index屬性最小的控件的相應(yīng)屬性完全相同。而Index屬性在Load函數(shù)中指定,TabIndex屬性取VB規(guī)定的默認(rèn)數(shù)值(比其他任何控件都大),Visible為False。所以需要改變新控件的Left或Top,以及Visible屬性后才能看到它。

  這里的代碼僅設(shè)計用于添加Command(1),即使Command中的按鈕被點擊兩次,也不能添加Command(2),而是會返回“對象已經(jīng)加載”的錯誤。為了不斷添加控件,可以使用下面的代碼。

  PrivateSubCommand_Click(IndexAsInteger)'控件數(shù)組中控件的點擊事件IfCommand.UBound=32767ThenExitSubLoadCommand(Command.UBound+1)'添加控件Command(Command.UBound).Top=Command.UBound*150'移動新控件Command(Command.UBound).Visible=True'將新控件設(shè)置為可見EndSub

  控件數(shù)組的UBound屬性返回該控件數(shù)組中控件的最大下標(biāo)(索引值),添加索引值為Command.UBound+1(不大于32767)的控件數(shù)組元素可以保證不發(fā)生“對象已經(jīng)加載”的錯誤。但是,由于控件數(shù)組中每個控件的索引值并不一定是連續(xù)的,即可以只添加Command(1)和Command(3)而不添加Command(2),所以即使控件數(shù)組最大索引值為32767,該控件數(shù)組也不一定有32767個對象。

1963214