Recuperare un controllo in base al nome in maniera ricorsiva in Windows Forms
Scritto da
Massimo Bonanni il
mercoledì 23 novembre 2011
•
Linguaggio:
• Livello: 100
A volte si può avere la necessità di recuperare
un controllo presente nella nostra GUI in
base al nome.
La seguente funzione generic permette di eseguire questa operazione
iterando, in meniera recursiva, tra i controlli di un
generico container (di tipo Control):
VB.NET
Public Function GetControlRecursive(Of T As Control)(controlName As String, container As Control) As T
If TypeOf container Is T AndAlso container.Name = controlName Then
Return CType(container, T)
End If
For Each ctrl In container.Controls.OfType(Of Control)()
Dim retCtrl = GetControlRecursive(Of T)(controlName, ctrl)
If retCtrl IsNot Nothing Then
Return retCtrl
End If
Next
Return Nothing
End Function
Tags: Windows Forms