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

its*_*ols 3 vb6 control-array

我正在动态加载和卸载窗体上的命令按钮数组.

我可以做这个:

    Dim UnloadIndex As Integer
    For UnloadIndex = 1 To 20
        Unload frmMain.cmdAction(UnloadIndex)
    Next
Run Code Online (Sandbox Code Playgroud)

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

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

有什么建议请...

Mit*_*eat 8

用于UBound()返回指定数组维度的最高可用下标.

Dim UnloadIndex As Integer 
For UnloadIndex = LBound(frmMain.cmdAction) To UBound(frmMain.cmdAction)
    Unload frmMain.cmdAction(UnloadIndex) 
Next 
Run Code Online (Sandbox Code Playgroud)


Dea*_*nna 5

如果它们不是连续的,你也可以这样做:

Dim Control as CommandButton
For Each Control in frmMain.cmdAction
  If Control.Index > 0 Then
    Unload Control
  End If
Next
Run Code Online (Sandbox Code Playgroud)