Accueil > Forum > > > > Dégradé Backcolor ?
Dégradé Backcolor ?
mercredi 12 novembre 2008 à 10:45:14 |
Dégradé Backcolor ?

ansizak
|
Bonjour, Je n'ai pas réussi à appliquer un dégradé à la propriété backcolor d'un control: LinearGradientBrush b = new LinearGradientBrush(new Point(0, 0), new Point(60, 20), Color.Gray, Color.White); Graphics g = paneltest.CreateGraphics(); g.FillRectangle(b, 0, 0, paneltest.Width, paneltest.Height);Pourriez vous m'aiguiller ? Merci d'avance, Anz.
|
|
mercredi 12 novembre 2008 à 10:55:58 |
Re : Dégradé Backcolor ?

LordOfTheShadow
|
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. La connaissance est la plus grande des richesses.
|
|
mercredi 12 novembre 2008 à 10:57:06 |
Re : Dégradé Backcolor ?

LordOfTheShadow
|
Je l'ai déjà en VB, si tu veux je peux te l'envoyer ce soir, la je suis au boulot. La connaissance est la plus grande des richesses.
|
|
mercredi 12 novembre 2008 à 10:59:51 |
Re : Dégradé Backcolor ?

ansizak
|
Je te remercie, je veux bien voir ta propriété vb :)
Je regarderais ce soir.
Merci, Cordialement, Anz
|
|
mercredi 12 novembre 2008 à 11:24:16 |
Re : Dégradé Backcolor ?

WishhhMaster
|
Salut,
Pour créer un dégradé, tu dériver une nouvelle classe de ton controle et surcharger onPaintBackground:
class MyGradientPanel:Panel {
Color _color1 = Color.Blue; Color _color2 = Color.White;
protected override void OnPaintBackground(PaintEventArgs e) { base.OnPaintBackground(e); Graphics g = e.Graphics; g.FillRectangle(Brushes.White, ClientRectangle);
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(); } }
|
|
mercredi 12 novembre 2008 à 11:35:04 |
Re : Dégradé Backcolor ?

ansizak
|
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"
|
|
mercredi 12 novembre 2008 à 11:42:36 |
Re : Dégradé Backcolor ?

WishhhMaster
|
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
MyGradientPanel pnl = new MyGradientPanel(); this.Controls.add(pnl); pnl.Location = ... pnl.Size = ..
Normalement tu devrais avoir le panel avec un dégradé :)
|
|
mercredi 12 novembre 2008 à 12:43:10 |
Re : Dégradé Backcolor ?

ansizak
|
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 ?
|
|
mercredi 12 novembre 2008 à 14:29:29 |
Re : Dégradé Backcolor ?

ansizak
|
En attendant de meiux comprendre les méthodes override, j'ai essayé ceci:
LinearGradientBrush lgb = new LinearGradientBrush(panel6.ClientRectangle, Color.Black, Color.White, LinearGradientMode.Vertical); panel6.CreateGraphics().FillRectangle(lgb, panel6.ClientRectangle); panel6.Refresh();
Cela devrait en théorie fonctionner, or non...
|
|
mercredi 12 novembre 2008 à 19:35:56 |
Re : Dégradé Backcolor ?

LordOfTheShadow
|
Alors voila ce que j'ai refais rien que pour toi parce que je le trouvai plus. Tu peux essayer ça sur un nouveau UserControl juste pour tester avant: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; //A RAJOUTER: using System.Drawing.Drawing2D;
namespace degraderRectangle { publicpartialclassUserControl1 : UserControl { privateColor couleurUn; privateColor couleurDeux;
public UserControl1() { InitializeComponent(); }[ Category("MesProprietes"), Browsable(true), Description("Obtient ou d,finit le d,grad, du control.")] publicColor CouleurUn { get { return couleurUn; } set { couleurUn = value; this.Refresh(); //On lance la proc,dure OnPaint en rafra¼chissant. } }[ Category("MesProprietes"), Browsable(true), Description("Obtient ou d,finit le d,grad, du control.")] publicColor CouleurDeux { get { return couleurDeux; } set { couleurDeux = value; this.Refresh(); //On lance la proc,dure OnPaint en rafra¼chissant. } }
protectedoverridevoid OnPaint(PaintEventArgs args) { Rectangle rect = newRectangle(newPoint(0,0),this.Size); LinearGradientBrush b = newLinearGradientBrush(newPoint(0, 0), newPoint(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... La connaissance est la plus grande des richesses.
|
|
Cette discussion est classée dans : backcolor, color, dégradé, lineargradientbrush, paneltest
Répondre à ce message
Sujets en rapport avec ce message
Dégradé sur Label [ par cybers7119 ]
Bonjour,Je travaille actuellement en C# sur l'élaboration d'une IHM.Je souhaiterais effectuer un dégradé sur le fond
conversion string en color [ par thebigboss ]
Salut,voilà j'aimerai sauvegarder l'apparence de mon projet dans un fichier .ini. J'y suis arrivé grace à une class récupérée sur le forum (merci).Le
Couleur des ColumnHeader dans un DataGridView [ par egwene ]
Salut,j'essaie de formater un dataGridView et j'ai l'impression qu'il est impossible de changer la couleur (BackColor et ForeColor) des cellules d'ent
dégradé [ par cudenetf ]
Bonjour,j'aimerais faire un dégradé animé,par exemple sur un panel.J'ai donc une fonction qui peint le degradé Paint( Lineargradient brush ....) et j
Ajouter une colonne à un datagrid [ par adressprov ]
Voila j'ai déjà poster sur le site d'asp.fr qui m'on renvoyait ici, donc je repose ma question. Voila j'aimerais rajouter une colonne à mon DataGrid
color chooser ... ??? [ par VinzRedZone ]
Bonjour à tous,J'ai un problème pour lequel je ne trouve pas de réponse.J'aimerais intégrer le colorDialog dans une form ... je ne veux pas ouvrir une
changer la couleur d'un label [ par fatal2disease ]
je fais une requete vers une bd et suivant la valeur d'un champs le label prend une couleur, mais j'ai 25 labels je voudrai faire dans une boucle for
Dessin dans une cellule d'un DataGridView [ par z_san ]
Bonjour Je vous explique mon problème. J'ai une forme qui contien un tab control, chaque onglet représente un jour de la semaine, dans cet onglet o
Rotation d'image sans Graphics.RotateTransform [ par nico4nicolas ]
Bonjour,Dans le but de faire une application plus étendue, je souhaite faire une rotation d'image sans utiliser Graphics.RotateTransform qui fait pour
Redessiner un bouton [ par yanis7518 ]
Salut a tousvoila mon probleme je dois redessiner un bouton (je sais c'est pas compliqué mais je suis débutant la dedans :p )en fait mon probleme est
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|