我正在动态加载和卸载表单上的命令按钮数组。
我可以这样做:
Dim UnloadIndex As Integer
For UnloadIndex = 1 To 20
Unload frmMain.cmdAction(UnloadIndex)
Next
但我并不总是有20个元素。有没有办法循环遍历每一个直到它到达终点?
我知道我可以使用全局变量并跟踪值,但我试图避免这种情况。
请提出任何建议......
答案 0 :(得分:8)
使用UBound()
返回指定维度的最高可用下标
一个数组。
Dim UnloadIndex As Integer
For UnloadIndex = LBound(frmMain.cmdAction) To UBound(frmMain.cmdAction)
Unload frmMain.cmdAction(UnloadIndex)
Next
答案 1 :(得分:5)
如果它们不是连续的,你也可以这样做:
Dim Control as CommandButton
For Each Control in frmMain.cmdAction
If Control.Index > 0 Then
Unload Control
End If
Next
答案 2 :(得分:0)
Dim UnloadIndex As Integer
For UnloadIndex = LBound(frmMain.cmdAction.LBound) To UBound(frmMain.cmdAction.UBound)
Unload frmMain.cmdAction(UnloadIndex)
Next
我发现接受的答案方式会产生编译错误
预期数组
使用点符号代替了我。