Sfarfallio dei rectangle shape

giovedì 10 febbraio 2011 - 11.57
Tag Elenco Tags  VB.NET  |  .NET 3.0  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  SQL Server 2005  |  SQL Server Express

Carlik Profilo | Junior Member

Salve , vb 2008
nella mia applicazione ho , in una form , due pannelli sovrapposti.
Ad un click su un pulsante si visualizza uno o l'altro pannello a rotazione.
All'interno di ogni pannello ho 20 controlli rectangleshape (microsoft.visualbasic.powerpack).
Quando cambio il pannello di visualizzazione viene effettuato il repaint dei miei rectangle shape in sequenza , dando così uno sgradevole effetto di creazione a cascata dei rectangle.
Esiste qualche modo per evitare questo problema?
Cosa ignoro?

Dimenticavo.I miei rectangle sono costruiti a runtime e il paint viene fatto così :

Sub MyPaint(ByVal s As Object, ByVal e As PaintEventArgs)
Dim rs As PowerPacks.RectangleShape = CType(s, PowerPacks.RectangleShape)
RemoveHandler rs.Paint, AddressOf MyPaint
Dim _Tavolo As Tavolo = (From elem In Tavoli Where elem.IdTavolo = CInt(rs.Tag)).Single
Dim g As Graphics = rs.Parent.CreateGraphics()
Dim drawString As String = _Tavolo.strEtichetta
Dim drawBrush As New System.Drawing.SolidBrush(System.Drawing.Color.Black)
Dim supHeight As Integer = TextRenderer.MeasureText(g, drawString, m_font).Height
g.DrawString(drawString, m_font, drawBrush, rs.Location.X + CInt(rs.Width / 2), rs.Location.Y + CInt((rs.Height - supHeight) / 2), m_drawFormat)
drawBrush.Dispose()
rs.BringToFront()
g.Dispose()
AddHandler rs.Paint, AddressOf MyPaint
End Sub
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5