LABEL WINFORMS AVEC EFFET GLASS (COMME VISTA)

cs_flodef Messages postés 5 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 4 novembre 2008 - 4 nov. 2008 à 16:41
cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012 - 12 sept. 2009 à 14:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41141-label-winforms-avec-effet-glass-comme-vista

cs_claudetom Messages postés 115 Date d'inscription jeudi 11 octobre 2001 Statut Membre Dernière intervention 15 octobre 2012
12 sept. 2009 à 14:34
Juste pour info pourquoi pas avoir fait au plus simple
comme ceci:

/// <summary>
/// On change le fond du label uniquement
/// </summary>
///

protected override void OnPaintBackground(PaintEventArgs e)
{
if ((Height - 3) / 2 <= 0 || Width <= 0) return;

// Paint le fond avec un gris clair
SolidBrush BackBrush = new SolidBrush(Color.Gainsboro);
e.Graphics.FillRectangle(BackBrush, this.ClientRectangle);
RectangleF rectTop = new RectangleF( 0,0, this.ClientRectangle.Width,this.ClientRectangle.Height/2);
RectangleF rectBottom = new RectangleF(0, this.ClientRectangle.Height / 2, this.ClientRectangle.Width, this.ClientRectangle.Height / 2);
// Crée les pinceaux, l'effet est obtenu avec 3 dégradés de la couleur sélectionnée
// On joue surtout sur la composante alpha pour gérer la couleur.

LinearGradientBrush loBrushTop = new LinearGradientBrush(rectTop,
Color.FromArgb(50, BackColor),
Color.FromArgb(160, BackColor),
LinearGradientMode.Vertical);

LinearGradientBrush loBrushMiddle = new LinearGradientBrush(rectBottom,
Color.FromArgb(190, BackColor),
Color.FromArgb(210, BackColor),
LinearGradientMode.Vertical);
e.Graphics.FillRectangle(loBrushTop, rectTop);
e.Graphics.FillRectangle(loBrushMiddle, rectBottom);

}
SaumonAgile Messages postés 1 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 4 novembre 2008
4 nov. 2008 à 17:36
Pour ceux qui sont intéressés, ce composant fait partie d'une suite plus complète intégrée dans un contrôle nommé InformationBox. Ce contrôle est disponible sur CodePlex : http://www.codeplex.com/infobox/
cs_flodef Messages postés 5 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 4 novembre 2008
4 nov. 2008 à 16:41
Joli source, merci
Rejoignez-nous