时间:
10点半-11点半。(上午的时间就剩下可怜的1个小时了。)
----------------以后说什么也要早起呀。。
复习整理昨天的VB知识。
想在程序运行时动态的在控件数组中加入一个控件,如一个按钮。这时,你可以使用Load语句,语法如下: Load Object(Index)
必须保证控件数组中至少有一个控件(可以将控件的Index属性设为0)。需要注意的是VB仅仅允许一个控件数组中包含32767个控件(PS:整型变量的数值范围为-32768~32767)。
Private Sub cmdBtn_Click(Index As Integer)
Dim btn As CommandButton
Dim iIndex As Integer
iIndex = cmdBtn.Count
If iIndex <= 32767 Then
-----------------------------------------------------------------
Load cmdBtn(iIndex) ???????
==========================================
Set btn = cmdBtn(iIndex)
------------------------------------------------------------------
With btn
.Top = cmdBtn(iIndex - 1).Top + 620
.Caption = "Command" & iIndex + 1
.Visible = True
End With
------------------------------------------------------------------
Set btn = Nothing ??????????????
-----------------------------------------------------------
End If
End Sub
---- 运行程序并点击按钮,程序就会在表单中增加新的按钮。
-----------------------------------------------------------------
所谓控件数组可以简单理解为是共享控件名称、类型和事件的控件组,如绘制10个TEXT控件,它们的NAME属性均为txtindex。通过使用控件数组,可以使这些TEXT控件共享相同的事件过程。它的最大好处是:节省代码,增加可读性,同时也减少了内存的开销
控件数组可以分为静态数组及动态数组两种,
整个下午的时间还是有的要好好计划:
===============================================================
Set语句 | 返回 |
将对象引用赋给变量或属性。
语法
Set objectvar = {[New] objectexpression | Nothing}
Set 语句的语法包含下面部分:
部分 | 描述 |
objectvar | 必需的。变量或属性的名称,遵循标准变量命名约定。 |
New | 可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与 Set 一起使用,则将创建该类的一个新实例。如果 objectvar 包含了一个对象引用,则在赋新值时释放该引用。不能使用 New 关键字来创建任何内部数据类型的新实例,也不能创建从属对象。 |
objectexpression | 必需的。由对象名,所声明的相同对象类型的其它变量,或者返回相同对象类型的函数或方法所组成的表达式。 |
Nothing | 可选的。断绝 objectvar 与任何指定对象的关联。若没有其它变量指向 objectvar 原来所引用的对象,将其赋为 Nothing 会释放该对象所关联的所有系统及内存资源。 |
说明
为确保合法,objectvar 必须是与所赋对象相一致的对象类型。
Dim、Private、Public、ReDim以及 Static 语句都只声明了引用对象的变量。在用 Set 语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。
下面的示例说明了如何使用 Dim 来声明 Form1
类型的数组。Form1
实际上还没有实例。然后使用 Set 将新创建的 Form1
的实例的引用赋给 myChildForms
变量。在 MDI 应用程序中可以使用这些代码来创建子窗体。
Dim myChildForms(1 to 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1
通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在 Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。