请问要使自写控件的属性为一数组应该怎么做?我这样写为什么出错?
_xiao 2003-08-02 05:26:49 我想让UserControl1的一个属性成为数组,就像MSChart的ChartData属性一样,相关代码如下:
Dim avarParam() As Variant
Property Let ArrayParam(aNewArray() As Variant)
ReDim avarNewArray(LBound(aNewArray), UBound(aNewArray))'在此处出错!
avarParam = aNewArray
End Property
Property Get ArrayParam() As Variant()
ArrayParam = avarParam
End Property
容器窗口中对其属性的使用为:
ReDim avarTest(10) As Variant
Dim i As Integer
For i = 0 To 10
avarTest(i) = i
Next i
UserControl11.ArrayParam = avarTest
结果运行时总在上面注释的那一行上出错,提示“下标越界(错误 9)”,调试发现 LBound(aNewArray) 这一句就已经出现下标越界的错误了,也就是说传入的aNewArray根本就不是数组,这是为什么?应该如何做才能达到我的目的?
另外一个问题是我这样做了后,ArrayParam参数属性只能在运行时出现,不能在设计时预先设置,那么请问各位大虾,我又该怎么做才能让它在设计时就出现呢?就像ListBox控件的List属性一样?