Pb affichage control perso [Résolu]

Signaler
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Kikoo à ts les dev!

Petit pb de rafraichissement sur un control personnalisé :





En fait ca me fait ca lorsque g par exemple une MessageBox ke je bouge au dessus de mon control.

J'utilise la methode paint pour dessiner entierement mon control.



Merci d'avance pour votre aide

ZeBobo5

10 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
arf... nan... j'dis des conneries

remplace :
Rectangle r = new Rectangle(pe.ClipRectangle.X, pe.ClipRectangle.Y, pe.ClipRectangle.Width, pe.ClipRectangle.Height);

par :
Rectangle r = new Rectangle(0,0, this.Width, this.Height);

Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
La méthode paint, OnPaint tu veux dire ?

Mx
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Vi, exact

et je dessine mon control le gdi
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
peux-tu nous montrer le code que tu utilises ?

Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Hum ok.

Tu pourrais nous donner des petits bouts de code, histoire qu'on puisse diagnostiquer le problème ?


Mx
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
protected override void OnPaint(PaintEventArgs pe)

{

Rectangle r =
new Rectangle(pe.ClipRectangle.X, pe.ClipRectangle.Y,
pe.ClipRectangle.Width, pe.ClipRectangle.Height);

//Fond;


g.FillRectangle(new SolidBrush(Color.FromArgb(93, 135, 32)), r);


g.FillRectangle(Brushes.White, r.X + 1, r.Y + 1, r.Width - 2, r.Height
- 2);


g.FillRectangle(new SolidBrush(Color.FromArgb(178, 221, 116)), r.X + 2,
r.Y + 2, r.Width - 3, r.Height - 3);



//Colonnes


g.DrawLine(new Pen(Brushes.Gray), new Point(r.Width/3, 3), new
Point(r.Width/3, r.Height - 4));


g.DrawLine(new Pen(Color.White), new Point(r.Width / 3 + 1, 3), new
Point(r.Width / 3 + 1, r.Height - 4));


g.DrawLine(new Pen(Brushes.Gray), new Point(r.Width * 2 / 3, 3), new
Point(r.Width * 2 / 3, r.Height - 4));


g.DrawLine(new Pen(Color.White), new Point(r.Width * 2 / 3 + 1, 3), new
Point(r.Width * 2 / 3 + 1, r.Height - 4));



//Texte


TextRenderer.DrawText(g, "Information", Font, new Rectangle( 4, r.Y +
4, r.Width / 3 - 4, r.Height - 6), Color.Black, TextFormatFlags.Left |
TextFormatFlags.VerticalCenter);


TextRenderer.DrawText(g, "Local", Font, new Rectangle(r.Width / 3 + 4,
r.Y + 4, r.Width * 2 / 3 - 4, r.Height - 6), Color.Black,
TextFormatFlags.Left | TextFormatFlags.VerticalCenter);


TextRenderer.DrawText(g, "Commun", Font, new Rectangle(r.Width *2/ 3 +
4, r.Y + 4, r.Width - 4, r.Height - 6), Color.Black,
TextFormatFlags.Left | TextFormatFlags.VerticalCenter);



base.OnPaint(pe);

}



J'espere ke ca pourra t'aider un peu
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
ton problème vient de l'utilisation de
pe.ClientRectangle... ClipRectangle représente le rectange à redessiner.

toi tu dois utiliser : this.Bounds

Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Oky, ca marche mais pourkoi mes : g.FillRectangle et TextRenderer.DrawText ne marche plu??
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Merci, enfin! moi ki galérais depuis un tit bout de tps.

Merci CS!!!

Bonne continuation, comment on ferait sans vous!
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>