Disegnare un rettangolo, problema refresh

mercoledì 31 maggio 2006 - 11.31

escaflowne Profilo | Junior Member

Ciao a tutti,
Sto provando a creare un componente che, fra le altre cose, deve
disegnare un rettangolo (con relativo bordo colorato) in una posizione
specifica. (vs 2003)
Non so se il modo in cui procedo sia corretto, in pratica:
1. creo un panel (myPanel, a runtime) delle dimensioni del rettangolo e ne setto
il backcolor = al componente che ci sta sotto (una label) (e questo
perchè se imposto il backcolor a trasparent non so perchè ma mi
rimane grigio)
2. disegno il rettangolo con fillRectangle (su myPanel.graphics)
3. disegno il bordo con drawRectangle

Il problema sostanziale è che, scorrendo la form com la scrollbar,
l'aggiornamento del bordo del rettangolo (a parte il flicherio ma non
importa) lo sbaglia (nel senso che se scorro velocemente e mi fermo, il
bordo superiore lo disegna dentro il rettangolo mentre se scorro
lentamente questo non avviene.
Ho provato, nel paint del panel un suspendLayout(), disegno tutto e
resumeLayout() ma la situazione non cambia.
Dove sbaglio?
Consigli su come fare in alternativa?
Esiste un modo per ridisegnare il componente quando finisce lo scorrimento della form?
Grazie a tutti
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