La mia subroutine pubblica si trova nel Modulo
codice:
Public Sub DisAbilitaContenitore(FrameAttivo As Frame, UserControlAttiva As UserControl, Stato As Boolean)
Dim Controllo As Control
Dim NomeContenitore As String
On Error Resume Next
For Each Controllo In UserControlAttiva.Controls
NomeContenitore = ""
NomeContenitore = Controllo.Container.Name
If NomeContenitore = FrameAttivo.Name Then
Controllo.Enabled = Stato
End If
Next Controllo
End Sub
L'evento Click del Command all'interno della UserControl richima la subroutine
codice:
DisAbilitaContenitore fraPannelloCategorie, UserControl, False
Se avevo una Form non dovevo far altro che inerire un Me al posto della parolina rossa, ma in un UserControl cosa devo mettere ?! La UserControl si chiama 'Prodotti'.
Se nell'evento Click del Command inserisco il seguente codice...
codice:
Dim Controllo As Control
Dim NomeContenitore As String
On Error Resume Next
For Each Controllo In Controls
NomeContenitore = ""
NomeContenitore = Controllo.Container.Name
If NomeContenitore = Frame1.Name Then
Controllo.Enabled = False
End If
Next Controllo
...funziona alla grande, ma purtroppo ho più UserControl che devono utilizzare questa subroutine. Potrei mettere quest'ultima in ogni UserControl, ma non voglio arrivare a tal punto.