Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Sfarfallio dei rectangle shape
giovedì 10 febbraio 2011 - 11.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
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
158
messaggi | Data Invio:
gio 10 feb 2011 - 11:57
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
Torna su
Stanze Forum
Elenco Threads
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 !