Dégradé sur Label

Résolu
cybers7119 Messages postés 20 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 19 janvier 2009 - 8 juil. 2008 à 11:49
cybers7119 Messages postés 20 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 19 janvier 2009 - 8 juil. 2008 à 13:31
Bonjour,

Je travaille actuellement en C# sur l'élaboration d'une IHM.
Je souhaiterais effectuer un dégradé sur le fond d'un Label. J'ai le code suivant, qui effectue correctement ce dégradé :




LinearGradientBrush



lgb1 =

new



LinearGradientBrush
(label1.ClientRectangle,

Color
.Black,

Color
.White,

LinearGradientMode
.Horizontal);
label1.CreateGraphics().FillRectangle(lgb1, label1.ClientRectangle);
label1.Text =

"Mon texte"
;



Le problème, c'est que le texte n'est pas visible : le dégradé en BackColor semble le cacher.

Quelqu'un aurait une solution ?

Merci

2 réponses

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
8 juil. 2008 à 13:10
Salut,

Comme tu écrases ce que dessine le label, c'est normal que le texte n'apparaîsse plus. Il faut que tu dessines le texte par dessus le fond (avec DrawString).

Par ailleurs, pour faire ça correctement, il est préférable de créer une classe qui hérite de Label et qui surcharge la méthode OnPaint. Les dessins (dégradé + texte) seront fait à l'appel de OnPaint.
3
cybers7119 Messages postés 20 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 19 janvier 2009 2
8 juil. 2008 à 13:31
OK, je m'en suis sorti avec DrawString. Merci pour ton aide !
0
Rejoignez-nous