LordOfTheShadow
Messages postés174Date d'inscriptionvendredi 22 décembre 2000StatutMembreDernière intervention 9 septembre 20105 12 nov. 2008 à 10:55
La propriété BackColor ne prend pas de dégradé en paramètre à moins de réécrire dessus (override) mais ça te sera compliqué et couteux. Le mieux c'est de créer ta propre propriété et de supprimer celle de ton control enfin mettre browsable à false.
Brush linearGradientBrush = new LinearGradientBrush(new Point(0,0), new Point (60, 20),
_color1, _color2);
g.FillRectangle(linearGradientBrush, new Rectangle(0, 0, this.Width, this.Height));
linearGradientBrush.Dispose();
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 12 nov. 2008 à 11:35
Hum, merci à toi, je ne suis pas familier des methode de dérivation...
J'ai essayé ta méthode, et j'obtiens, une erreur "monProjet contient deja une définition pour paneltest"
WishhhMaster
Messages postés327Date d'inscriptionmardi 17 février 2004StatutMembreDernière intervention10 avril 20108 12 nov. 2008 à 11:42
Ton erreur vient du fait que tu déclare 2 fois paneltest. Cherche où (ça n'est pas référencé dans le code que je t'ai donné)
Sinon, essaye d'ajouter la classe de mon message d'avant à ton projet.
Puis après sur ta form, ajoute un panel
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 12 nov. 2008 à 12:43
Hmm.. ok je vois.
Si je procède en créant ton panel MyGradientPanel auquel j'ajoute mon dégradé et qu'ensuite je fais ceci:
paneltest.BackColor = MyGradientPanel.BackColor
aurais-je le dégradé transposé sur mon panel ?
Rectangle rect =
new
Rectangle(
new
Point(0,0),
this.Size);
LinearGradientBrush b =
new
LinearGradientBrush(
new
Point(0, 0),
new
Point(
this.Size.Width,
this.Size.Height), CouleurUn, CouleurDeux);
args.Graphics.FillRectangle(b, rect);
}
}
}
//J'ai mis un peu de temps à le refaire lol mais bon si ça peut t'aider...