下面這段代碼完成,在窗體上用語(yǔ)句添加2個(gè) GroupBox控件,且在每個(gè)GroupBox控件中添加4個(gè) RadioButton 控件。
創(chuàng)新互聯(lián)建站專注于富川企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。富川網(wǎng)站建設(shè)公司,為富川等地區(qū)提供建站服務(wù)。全流程按需定制開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
'添加2個(gè)GroupBox
Dim MyGroupBox(2) As GroupBox
For i = 1 To 2
'將一個(gè)GroupBox控件加入到Form上
MyGroupBox(i) = New GroupBox
Me.Controls.Add(MyGroupBox(i))
'設(shè)置該GroupBox控件的屬性
MyGroupBox(i).Height = 240
MyGroupBox(i).Width = 600
MyGroupBox(i).Top = (i - 1) * (240 + 20) + 20
MyGroupBox(i).Left = 20
'修改新加入控件的Text值
MyGroupBox(i).Text = "GroupBox" CStr(i)
Next
'每個(gè)GroupBox中添加4個(gè)單選按鈕
Dim MyRadioButton1(4) As RadioButton
Dim MyRadioButton2(4) As RadioButton
For i = 1 To 4
MyRadioButton1(i) = New RadioButton
Me.Controls.Add(MyRadioButton1(i))
MyRadioButton1(i).Parent = MyGroupBox(1)
'設(shè)置該GroupBox控件的屬性
MyRadioButton1(i).Height = 20
MyRadioButton1(i).Width = 120
MyRadioButton1(i).Top = (i - 1) * (20 + 20) + 40
MyRadioButton1(i).Left = 20
'修改新加入控件的Text值
MyRadioButton1(i).Text = "RadioButton1_" CStr(i)
Next
For i = 1 To 4
MyRadioButton2(i) = New RadioButton
Me.Controls.Add(MyRadioButton2(i))
MyRadioButton2(i).Parent = MyGroupBox(2)
'設(shè)置該GroupBox控件的屬性
MyRadioButton2(i).Height = 20
MyRadioButton2(i).Width = 120
MyRadioButton2(i).Top = (i - 1) * (20 + 20) + 40
MyRadioButton2(i).Left = 20
'修改新加入控件的Text值
MyRadioButton2(i).Text = "RadioButton2_" CStr(i)
Next
End Sub
ReDim 語(yǔ)句支持這樣的語(yǔ)法,它與固定數(shù)組中使用的語(yǔ)法相同。對(duì)于每一維數(shù),每個(gè) ReDim 語(yǔ)句都能改變?cè)財(cái)?shù)目以及上下界。但是,數(shù)組的維數(shù)不能改變。
ReDim DynArray (4 to 12)
例如,用第一次聲明在模塊級(jí)所建立的動(dòng)態(tài)數(shù)組 Matrix1:
Dim Matrix1 () As Integer
然后,在過(guò)程中給數(shù)組分配空間:
Sub CalcValuesNow ()
.
.
.
ReDim Matrix1 (19, 29)
End Sub
這里的 ReDim 語(yǔ)句給 Matrix 分配一個(gè) 20 × 30 的整數(shù)矩陣(元素總大小為 600)。
根據(jù)你的語(yǔ)句,上下標(biāo)是確定的,所以定義語(yǔ)句修改為:
Dim ary(UBound(temp), 1) As String '聲明二維數(shù)組
for i =0 to ...
for j =0 to ...
keyarray(i,j)=
next
next
雙重循環(huán),賦值和讀取一樣
1.ReDim 語(yǔ)句用來(lái)定義或重定義原來(lái)已經(jīng)用帶空?qǐng)A括號(hào)(沒(méi)有維數(shù)下標(biāo))的 Private、Public 或 Dim 語(yǔ)句聲明過(guò)的動(dòng)態(tài)數(shù)組的大小。
2.可以使用 ReDim 語(yǔ)句反復(fù)地改變數(shù)組的元素以及維數(shù)的數(shù)目,但是不能在將一個(gè)數(shù)組定義為某種數(shù)據(jù)類型之后,再使用 ReDim 將該數(shù)組改為其它數(shù)據(jù)類型,除非是 Variant 所包含的數(shù)組。如果該數(shù)組確實(shí)是包含在某個(gè) Variant 中,且沒(méi)有使用 Preserve 關(guān)鍵字,則可以使用 As type 子句來(lái)改變其元素的類型,但在使用了此關(guān)鍵字的情況下,是不允許改變?nèi)魏螖?shù)據(jù)類型的。
3.如果使用了 Preserve 關(guān)鍵字,就只能重定義數(shù)組最末維的大小,且根本不能改變維數(shù)的數(shù)目。例如,如果數(shù)組就是一維的,則可以重定義該維的大小,因?yàn)樗亲钅┚S,也是僅有的一維。不過(guò),如果數(shù)組是二維或更多維時(shí),則只有改變其最末維才能同時(shí)仍保留數(shù)組中的內(nèi)容。下面的示例介紹了如何在為已有的動(dòng)態(tài)數(shù)組增加其最末維大小的同時(shí)而不清除其中所含的任何數(shù)據(jù)。
ReDim X(10, 10, 10)
. . .
ReDim Preserve X(10, 10, 15)
同樣地,在使用 Preserve 時(shí),只能通過(guò)改變上界來(lái)改變數(shù)組的大??;改變下界則會(huì)導(dǎo)致錯(cuò)誤。
4.如果將數(shù)組改小,則被刪除的元素中的數(shù)據(jù)就會(huì)丟失。如果按地址將數(shù)組傳遞給某個(gè)過(guò)程,那么不要在該過(guò)程內(nèi)重定義該數(shù)組的各維的大小。
5.在初始化變量時(shí),數(shù)值變量被初始化為 0,變長(zhǎng)的字符串被初始化為一個(gè)零長(zhǎng)度的字符串 (""),而定長(zhǎng)的字符串則用 0 填充。Variant 變量被初始化為 Empty。用戶自定義類型的變量的每個(gè)元素作為各自獨(dú)立的變量進(jìn)行初始化。在使用引用對(duì)象的變量之前,必須使用 Set 語(yǔ)句將一個(gè)已有的對(duì)象賦給該變量。在被賦值之前,所聲明的對(duì)象變量有一個(gè)特定值 Nothing,這個(gè)值表示該變量沒(méi)有指向任何對(duì)象的實(shí)例。
6.小心 如果 ReDim 語(yǔ)句所使用的變量在模塊級(jí)別或過(guò)程級(jí)別不存在,則該語(yǔ)句就相當(dāng)于一個(gè)聲明語(yǔ)句。如果此后在一個(gè)更廣的范圍內(nèi)又創(chuàng)建了同名的變量,即使使用了 Option Explicit,ReDim 也將使用后聲明的這個(gè)變量,且不會(huì)導(dǎo)致編譯錯(cuò)誤。為了避免這種沖突,就不應(yīng)把 ReDim 作為聲明語(yǔ)句使用,而只應(yīng)作為重定義數(shù)組大小的語(yǔ)句。
7.注意 要改變 Variant 所包含的數(shù)組的大小,必須在試圖改變其數(shù)組大小之前顯式聲明該 Variant 變量。
先定義一個(gè)動(dòng)態(tài)數(shù)組
dim a() as integer
再定義二維數(shù)組
m=inputbox("二維數(shù)組有幾行")
n=inputbox("二維數(shù)組有幾列")
redim a(1 to m, 1 to n)
然后賦值
轉(zhuǎn)變?yōu)橐痪S數(shù)組:
redim a(m*n) as integer
for j = 1 to m
for k= 1 to n
a((j-1)*n+k) = a(j, k)
next k
next j
不確定對(duì)不對(duì)……你試一下看看是不是可以幫到你