FORM1代码:Private a(3) As IntegerPrivate Sub Command1_Click() Dim bb As New Form2 Form2.ay = a Form2.Show 1 End SubPrivate Sub Form_Load() a(0) = 1 a(1) = 2 a(2) = 3 a(3) = 4 End SubFORM2的代码 Private a As VariantPrivate Sub Command1_Click() If IsArray(a) = True Then MsgBox a(UBound(a)) End If End SubPublic Property Get ay() As Variant ay = a End PropertyPublic Property Let ay(ByVal vNewValue As Variant) a = vNewValue End Property先运行form1
还可以用一种简单的方法把form2的 private a As Variant 改成为 Public a As Variant然后把定义的属性的定义去掉,这样也可以用!不过这样做不太好!到时你做过就知道了!用公共变量的确方便,但是不方便其他人阅读自己写的程序,有什么问题就要添加全局的变量或数组可能会给自己带来很大的麻烦的啊!有时排错的时候都不知道在什么地方把这个变量的值改变了,就算用搜索找出来都是挺麻烦的.这些是我在开发程序时自己的一些体会
Dim bb As New Form2
Form2.ay = a
Form2.Show 1
End SubPrivate Sub Form_Load()
a(0) = 1
a(1) = 2
a(2) = 3
a(3) = 4
End SubFORM2的代码
Private a As VariantPrivate Sub Command1_Click()
If IsArray(a) = True Then
MsgBox a(UBound(a))
End If
End SubPublic Property Get ay() As Variant
ay = a
End PropertyPublic Property Let ay(ByVal vNewValue As Variant)
a = vNewValue
End Property先运行form1
private a As Variant
改成为
Public a As Variant然后把定义的属性的定义去掉,这样也可以用!不过这样做不太好!到时你做过就知道了!用公共变量的确方便,但是不方便其他人阅读自己写的程序,有什么问题就要添加全局的变量或数组可能会给自己带来很大的麻烦的啊!有时排错的时候都不知道在什么地方把这个变量的值改变了,就算用搜索找出来都是挺麻烦的.这些是我在开发程序时自己的一些体会
多谢两位~!