LABEL WINFORMS AVEC EFFET GLASS (COMME VISTA)

Signaler
Messages postés
5
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
4 novembre 2008
-
Messages postés
115
Date d'inscription
jeudi 11 octobre 2001
Statut
Membre
Dernière intervention
15 octobre 2012
-
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

Messages postés
115
Date d'inscription
jeudi 11 octobre 2001
Statut
Membre
Dernière intervention
15 octobre 2012

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);

}
Messages postés
1
Date d'inscription
mardi 16 janvier 2007
Statut
Membre
Dernière intervention
4 novembre 2008

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/
Messages postés
5
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
4 novembre 2008

Joli source, merci