Bom dia, eu criei uma notificação que sobe lentamente no canto do relogio. Usando um unico form, que sobe varios paineis com informações ... Porem se houver muitas notificações sobem ex: 10 paineis com suas notificações... O erro esta em: quando sobe muitas
notificações consume um absurdo de processamento a cpu fica com 24% dando leg e lentidão no pc.
Codigo
Private Async Sub Subida(ByVal PA1 As Panel)
Try
Dim TotalRemove As Integer = 10
Do While True
Await Task.Delay(1)
Try
If (TotalRemove > PA1.Size.Height) Then
Exit Do
Else
PA1.Location = New Point(0, (Me.Size.Height - TotalRemove))
TotalRemove += 1
End If
Catch ex As Exception
Exit Do
End Try
Loop
If Me.Controls.OfType(Of Panel).Count = 1 Then
Await Task.Delay(1000) 'tempode de close
End If
PA1.Dispose()
Catch ex As Exception
End Try
Lista -= 1
If Lista <= 0 Then 'hide caso nao haja mais notificaçoes
Me.Size = New Size(0, 0)
Me.Opacity = 0
Me.Hide()
Me.Visible = False
Me.SendToBack()
Me.TopMost = False
End If
End Sub