У меня похожий код в программе, которая меняет шрифт и размер текста в каждой форме / отличается для каждого пользователя.Я использую OnLoad, и с этим все в порядке.
Dim Different_Font As Font = New Font("Calibri", 10)
Public Sub CheckFont(frm As Form)
For Each ctl As Control In frm.Controls
If ctl.HasChildren Then
CheckFont_Children(ctl)
End If
Try
ctl.Font = DifferentFont
Catch ex As Exception
End Try
Next
End Sub
Private Sub CheckFont_Children(parent As Control)
For Each ctl In parent.Controls
If ctl.HasChildren Then
CheckFont_Children(ctl)
End If
Try
ctl.font = DifferentFont
Catch ex As Exception
End Try
Next
End Sub
В вызове события загрузки формы ...
Private Sub Frm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckFont(Me)
End Sub
Это не похоже на изменение размеров каких-либо элементов управления, которые могутбудь хорошим или плохим для тебя .. Бон Шанс!;)