📄 删除控件导致控件数组index不连续怎么办.txt
字号:
这 是 一 个 有 趣 的 问 题 。 你 需 要 建 立 一 个 变 量 (比 如 nCount)用 来 记 录 控 件 的 个 数 。 当 你 Unload一 个 控 件 时 , 就 减 少 nCount。 下 面 给 你 一 个 例 子 。
先 建 立 一 个 窗 体 , 放 置 Command1和 Command2, 将 Command1的 Index设 为 0。 将 Command2的 Caption属 性 设 为 “ 重 排 ” 。
然 后 输 入 下 面 的 代 码 :
Dim nCount As Integer
Private Sub Command1_Click(Index As Integer)
Unload Command1(Index)
nCount = nCount - 1
End Sub
Private Sub Command2_Click()
Dim i, j
i = 0: j = 0
On Error GoTo ErrHandle
Do
Command1(i).Caption = "Command" & (j + 1)
i = i + 1: j = j + 1
Loop While j < nCount
Exit Sub
ErrHandle:
j = j - 1
Resume Next
End Sub
Private Sub Form_Load()
Dim i
For i = 1 To 10
Load Command1(i)
Command1(i).Top = Command1(i - 1).Top + Command1(i - 1).Height + 10
Command1(i).Caption = "Command" & (i + 1)
Command1(i).Visible = True
Next
nCount = 11
End Sub
运 行 这 个 程 序 , 屏 幕 上 出 现 Command1到 Commadn10一 组 按 钮 , 你 每 按 下 一 个 按 钮 , 这 个 按 钮 就 消 失 (参 见 Command1_Click事 件 )。 按 下 重 排 键 , 按 钮 的 Caption就 会 重 新 从 小 到 大 排 列 。 奥 妙 都 在 Command2_Click里 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -