[C# + GDI] Panel transparent: + Pb de rafraichissement
cs_wolveryn
Messages postés2Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention22 juin 2007
-
20 juin 2007 à 16:45
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 2008
-
22 juin 2007 à 16:07
Salut,
J'ai crée un panel transparent qui marche plutôt bien en ce qui
concerne la transparence; mais le problème est quand je fais bouger
l'ascenseur, les parties du panel qui apparaissent sont floues et ont
de sérieux problèmes d'encre.
voici ma méthode onpaint:
if(!isPainting)
{
isPainting = true;
backBrush = new SolidBrush(Color.FromArgb(this.OpacityAsByte, base.BackColor));
tempBitmap = new Bitmap(this.Width, this.Height);
tempGraphics = Graphics.FromImage(tempBitmap);
cs_wolveryn
Messages postés2Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention22 juin 2007 22 juin 2007 à 14:28
j'aimerai bien essayer une de ces solutions (buffering) mais etant donne que je debute dans ce domaine la, j'ai pour l'instant epuise mes options.
et j'ai cherche avant de poster donc visiblement je suis passe a cote de la solution dont tu parles alors si possible passe moi le lien de cette solution
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 22 juin 2007 à 16:07
Tu peux faire le changement au niveau de la Form qui contient ton
panel, en mettant à true la propriété DoubleBuffered de la Form.
Si ça ne suffit pas, alors tu peux essayer d'utiliser les
BufferedGraphics (dans System.Drawing). Pour un exemple d'utilisation
de BufferedGraphics tu peux jeter un oeil sur une de mes sources (dans le projet "Eyes", regarde le code de la Form "Eyes").
Une autre possibilité est de déclarer ton panel en mode "double
buffer", mais contrairement aux Forms, il faut cette fois rajouter "à
la main" cette propriété.