vb6 - 如何在控制数组中找到最大元素索引?

时间:2012-02-01 04:46:39

标签: vb6 control-array

我正在动态加载和卸载表单上的命令按钮数组。

我可以这样做:

    Dim UnloadIndex As Integer
    For UnloadIndex = 1 To 20
        Unload frmMain.cmdAction(UnloadIndex)
    Next

但我并不总是有20个元素。有没有办法循环遍历每一个直到它到达终点?

我知道我可以使用全局变量并跟踪值,但我试图避免这种情况。

请提出任何建议......

3 个答案:

答案 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

我发现接受的答案方式会产生编译错误

  

预期数组

使用点符号代替了我。