Torna al Thread
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each c As Control In GetChildControls(Me)
If c.Tag = "SI bordo" Then
AddHandler c.GotFocus, AddressOf ctrl_GotFocus
AddHandler c.LostFocus, AddressOf ctrl_LostFocus
End If
Next
End Sub
Private Function GetChildControls(ByVal ctrl As Control) As Control()
Dim controls As New ArrayList
For Each c As Control In ctrl.Controls
controls.Add(c)
controls.AddRange(GetChildControls(c))
Next
Return DirectCast(controls.ToArray(GetType(Control)), Control())
End Function
Private Sub ctrl_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim g As Graphics = sender.Parent.CreateGraphics
Dim Penna As New Pen(Color.Red, 2.0)
g.DrawRectangle(Penna, New Rectangle(sender.Location, sender.Size))
Penna.Dispose()
g.Dispose()
End Sub
Private Sub ctrl_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim g As Graphics = sender.Parent.CreateGraphics
Dim Penna As New Pen(SystemColors.Control, 2.0)
g.DrawRectangle(Penna, New Rectangle(sender.Location, sender.Size))
Penna.Dispose()
g.Dispose()
End Sub