Originariamente inviato da Petra
Ciao a tutti...

Ho dei controlli all'interno di un frame, altri in un altro frame ed altri controlli sparsi all'interno della form.

Vorrei fare un controllo for each all'interno di un frame specifico per disabilitare ogni suo controllo.

Qualcuno di voi saprebbe dirmi come posso fare ?!

Grazie!!
ciao Petra,

probabilmente una routine del genere può fare al caso tuo:

codice:
Public Sub EnableFrame(frm As Form, F As Frame, Status As Boolean)

Dim ctrl As Control

On Error Resume Next

For Each ctrl In frm
    If ctrl.Container.Name = F.Name Then
        ctrl.Enabled = Status
    End If
Next ctrl

F.Enabled = Status

End Sub
volendo potresti metterla in un Modulo, dichiarata come Public, in modo da poterla utilizzare in tutto il progetto... allo scopo ho aggiunto anche il parametro frm che ti permette di indicare anche il form di appartenenza del frame.

la sub puoi usarla così:

codice:
EnableFrame Me, Frame1, False ' disabilita tutti i controlli nel Frame1 del form da cui lanci la funzione
mettendo True, ovviamente riabiliti i controlli

Boolean