请问:如何将所有看得见的控件放入数组??

chzzj 2003-10-11 11:44:30
'出于需要,我用数组保存所有可以看得见的控件,然后暂时隐藏,
'然后再显示出来,可是提示无此属性(Obj.Visible),不知错在哪里?
'请指点,关键代码如下
Dim Obj As Control
Dim j As Integer
Dim v As Variant '或者dim v as control
Dim arr() As Control
For Each Obj In Me
If Obj.Visible = True Then
arr(j) = Obj
j = j + 1
End If
Next Obj
——————————————
For Each v In arr
v.Visible = True
Next v
...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2003-10-12
  • 打赏
  • 举报
回复
窗体上有不可视控件,如timer控件等,用错误陷阱解决如下:

Private Sub Command1_Click()
On Error Resume Next
Dim obj() As Object
Dim a
Dim i As Long
i = 0
For Each a In Me.Controls
If objhavevis(a) = True Then
If a.Visible = True Then
ReDim Preserve obj(i)
Set obj(i) = a
i = i + 1
End If
End If
Next

For i = 0 To UBound(obj)
Debug.Print obj(i).Name
Next
End Sub
Private Function objhavevis(ByVal obj As Object) As Boolean
On Error GoTo myerr:
Dim a As Boolean
a = obj.Visible
objhavevis = True
Exit Function
myerr:
Select Case Err.Number
Case 438
objhavevis = False
Exit Function
End Select
End Function
oxfordxyc 2003-10-12
  • 打赏
  • 举报
回复
学习中……
MARK

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧