Disable Child Controls Recursively
Alternative For VB.NET Windows Forms Private Sub ControlEnabled(ByVal ctrl As Control, ByVal isDisable As Boolean) Me.ControlEnabled(ctrl, isDisable, True) End Sub Private Sub ControlEnabled(ByVal ctrl As Control, ByVal isDisable As Boolean, ByVal allowRecurse As...
Alternative For VB.NET Windows Forms
Private Sub ControlEnabled(ByVal ctrl As Control, ByVal isDisable As Boolean) Me.ControlEnabled(ctrl, isDisable, True) End Sub Private Sub ControlEnabled(ByVal ctrl As Control, ByVal isDisable As Boolean, ByVal allowRecurse As Boolean) If (allowRecurse AndAlso ctrl.HasChildren) Then For Each c As Control In ctrl.Controls ControlEnabled(c, isDisable, True) Next End If If Not TypeOf ctrl Is Form Then If (Not ctrl.Enabled = isDisable) Then ctrl.Enabled = isDisable Else Try ctrl.Enabled = isDisable Catch ex As Exception ctrl.Enabled = ctrl.Enabled End Try End If End If End SubAslo, the same may be utilized with different properties as Color, Font, ..... whatever else.
'''''''''''' Private Sub ControlBackColors(ByVal ctrl As Control, ByVal clr As Color) Me.ControlBackColors(ctrl, clr, True) End Sub Private Sub ControlBackColors(ByVal ctrl As Control, ByVal clr As Color, ByVal allowRecurse As Boolean) If (allowRecurse AndAlso ctrl.HasChildren) Then For Each c As Control In ctrl.Controls ControlBackColors(c, clr, True) Next End If If Not TypeOf ctrl Is Form Then If (Not ctrl.BackColor = clr) Then If clr <> Color.Transparent Then ctrl.BackColor = clr Else Try ctrl.BackColor = clr Catch ex As Exception ctrl.BackColor = SystemColors.Control End Try End If End If End If End Sub Private Sub ControlFonts(ByVal ctrl As Control, ByVal fnt As Font) ControlFonts(ctrl, fnt, True) End Sub Private Sub ControlFonts(ByVal ctrl As Control, ByVal fnt As Font, ByVal allowRecurse As Boolean) If (allowRecurse AndAlso ctrl.HasChildren) Then For Each c As Control In ctrl.Controls ControlFonts(c, fnt, True) Next End If If Not TypeOf ctrl Is Form Then If (Not ctrl.Font Is fnt) Then If (fnt.Style = ctrl.Font.Style) Then ctrl.Font = fnt Else Try ctrl.Font = New Font(fnt, ctrl.Font.Style) Catch ex As Exception ctrl.Font = fnt End Try End If End If End If End SubUsage:
ControlBackColors(Me, Color.Red) ControlEnabled(Me, False) ' ' and so onI am not sure if this way will work for ASP.NET or not.... someone has to check.