Option ExplicitPrivate Sub Form_Load()
    EnableDisableFrameControls Frame1, False
End SubPrivate Sub EnableDisableFrameControls(ctl As Control, IsEnabled As Boolean)   Dim J As Integer
   
   For J = 0 To Controls.Count - 1
       On Error Resume Next
       If Controls(J).Container Is ctl Then
           Controls(J).Enabled = IsEnabled
       End If
   Next JEnd Sub

解决方案 »

  1.   

    参考例子,没有判断容器是否为控件数组,请自行完成!Private Sub Command1_Click()
            
        SetFrameState Me, Frame1, False
            
    End Sub
    Private Sub SetFrameState(ByRef frmParent As Form, _
                              ByRef ctlContainer As Control, _
                              ByVal blnIsEnabled As Boolean)    Dim o_ctlItem As Control
        Dim o_intItems As Integer
        
        On Error Resume Next
            
        For Each o_ctlItem In frmParent.Controls
            With o_ctlItem
                If .Container.Name = ctlContainer.Name Then
                   .Enabled = blnIsEnabled
                Else
                End If
            End With
        NextEnd Sub