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

cs_ansizak 191 Messages postés mercredi 11 juillet 2007Date d'inscription 30 juin 2011 Dernière intervention - 16 juil. 2008 à 18:07 - Dernière réponse : cs_ansizak 191 Messages postés mercredi 11 juillet 2007Date d'inscription 30 juin 2011 Dernière intervention
- 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
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 17 juil. 2008 à 09:19
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de sebmafate
cs_ansizak 191 Messages postés mercredi 11 juillet 2007Date d'inscription 30 juin 2011 Dernière intervention - 16 juil. 2008 à 18:21
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
cs_ansizak 191 Messages postés mercredi 11 juillet 2007Date d'inscription 30 juin 2011 Dernière intervention - 18 juil. 2008 à 17:41
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.