Roundedrectangle : créez des rectangles avec des coins arrondis

Soyez le premier à donner votre avis sur cette source.

Vue 22 237 fois - Téléchargée 1 538 fois

Description

Parfois le design d'un formulaire winform nécessite des arrondis... ça adoucit... ça flatte l'oeil.

Je vous propose donc cette struct construite sur le modèle System.Drawing.Rectangle : RoundedRectangle.

Source / Exemple :


// Exemple d'utilisation :
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            // on va peindre des rectangles arrondis :D
            RoundedRectangle rr = new RoundedRectangle(10, 10, 100, 100, RoundedCorner.All, 16);

            e.Graphics.FillPath(SystemBrushes.WindowText, rr.ToGraphicsPath());

            rr.Offset(110, 0);
            e.Graphics.DrawPath(SystemPens.WindowText, rr.ToGraphicsPath());

            rr.Offset(110, 0);
            rr.RoundedCorners = RoundedCorner.TopLeft | RoundedCorner.BottomRight;
            e.Graphics.FillPath(
                new LinearGradientBrush(rr.ToRectangle(), SystemColors.ActiveCaption, SystemColors.GradientActiveCaption, LinearGradientMode.ForwardDiagonal),
                rr.ToGraphicsPath());

        }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 janv. 2006 à 11:45
Moi j'aime bien, marchi :)
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
3 janv. 2006 à 12:29
J'aime bien aussi :-)
Petite question quand même : Tu overrides l'operator == et donc aussi != et donc Equals et GetHashCode.

Mais est-ce vraiment utile de faire :

public override int GetHashCode()
{
return base.GetHashCode();
}

??
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 36
3 janv. 2006 à 12:32
car lorsque tu compiles sans ajouter cette surcharge, csc te retourne un warning... alors là, il ne gueule plus :D

et comme, je n'avais pas envie d'inventer une valeur de hash, je retourne le résultat de la classe de base... struct
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 62
3 janv. 2006 à 12:41
Juste, j'aurais dû y penser!
Merci.
DiGiT89 Messages postés 3 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 26 février 2009
26 févr. 2009 à 11:57
Merci, j'adore rendre mes forms plus jolies !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.