Equivalent Handles (vb) en Csharp ? [Résolu]

Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
- - Dernière réponse : cs_ansizak
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
- 18 juil. 2008 à 17:41
Bonjour,

Je souhaite effectuer un dégradé sur un de mes panels en m'inspirant du code vb 2005 suivant:

[..] toolstrip2_paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles ToolStrip2.Paint

        Dim g As Graphics = e.Graphics

        Dim rect As New Rectangle(0, 0, ToolStrip2.Width, ToolStrip2.Height)

        Dim b As New System.Drawing.Drawing2D.LinearGradientBrush(rect, Color.White, Color.LightSteelBlue, Drawing2D.LinearGradientMode.Vertical

Hum désolé pour le "[...]" au début mais je ne me rappelle plus de la syntaxe exacte.
Bref, toujours est-il que j'ai copié l'idée et ai produit le code suivant:

private void mainpanel_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Rectangle rect = new Rectangle(0, 0, mainpanel.Width, mainpanel.Height);
            new System.Drawing.Drawing2D.LinearGradientBrush(rect, Color.Red, Color.White, 0, true);
        }

Mais je n'obtiens pas mon dégradé...

Une idée ?

Merci par avance,
Cordialement,
Anz.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
3
Merci
il faut aussi faire ceci dans le Form_Load :

mainpanel.Paint += new PaintEventHandler(mainpanel_Paint);

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]

Merci sebmafate 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de sebmafate
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
0
Merci
up !

Juste pour dire que j'ai effectué autrement:

 private void mainpanel_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Rectangle rect = new Rectangle(0, 0, mainpanel.Width, mainpanel.Height);
            Brush b = new System.Drawing.Drawing2D.LinearGradientBrush(rect, Color.Gray, Color.White, 0, true);
            g.FillRectangle(b,rect);
        }

Ca me parait plus évident, mais ça ne fonctionne toujours pas :)
Commenter la réponse de cs_ansizak
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Dernière intervention
30 juin 2011
0
Merci
Rhoooo jsui trop bête...
Merci...

Cordialement,

Anz.
Commenter la réponse de cs_ansizak

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.