Sto avendo dei problemi di refresh nel disegno di uno
usercontrol (win), ho provato svariati trucchetti e forzature, ho seguito alcuni
consigli di Corrado , ma il
componente quando viene messo ad esempio in un panel e quest'ultimo viene
'scrollato', il ridisegno di un'area sfumata (FillPolygon con un
LinearGradientBrush) si incasina.
Questa mattina, oramai disperato ed
avvilito, ho deciso di perdere una mezz'ora e riscrivere il componente (e
l'applicazione con cui provarlo) con Visual Studio 2005 Beta e framework 2.0
(mero copia ed incolla!): sorpresa delle sorprese funziona PERFETTAMENTE! A
questo punto presumo che sia una limitazione (i miei clienti la chiamerebbero
'errore') della versione 1.1 del framework ?
A questo punto ho due
possibilità : scrivere questa applicazione su fx 2.0 (beta, tanto il rilascio
non è a breve, certo dipende dal rilascio del framework, se slitta al 2006 sono
fregato!) con tutti i rischi del caso, oppure provare a scrivermi una WndProc
per il componente e gestirmi i messaggi di paint a manina, senza sapere se ci
riuscirò e perdendo un mare di tempo...
Alla fine ho optato per la seconda, e devo dire che in relativamente poco tempo ho risolto il problema utilizzando invece dell'evento Paint il gestore messaggi del controllo ed intercettando il WM_PAINT; ho scritto un breve tip sull'argomento e l'ho inviato a contributors, spero che a breve venga pubblicato...
powered by IMHO
posted @ martedì 14 dicembre 2004 11.25