Visual Basic .Net:Couleurs et Propriétés
Un article de WikiTuto.
Sommaire |
Définition
Même si jusqu'ici nous ne nous sommes pas particulièrement arrêtés sur cette question, votre proverbial sens de l'observation vous aura sans doute indiqué que la quasi-totalité des contrôles possèdent des propriétés désignant leur(s) couleur(s). Ainsi, Backcolor et ForeColor permettent de modifier respectivement la couleur d'arrière-plan et la couleur d'avant-plan (celle du texte) des contrôles.
Certes. Mais comment spécifie-t-on une couleur ? Il existe pour cela deux grands moyens. Lorsque nous réglons une des propriétés de couleurs à la main, dans la fenêtre design, nous voyons que s'offrent deux possibilités : soit le choix d'une couleur prédéfinie (via les onglets web et system), ou la composition d'une couleur entièrement paramétrable (via l'onglet Personnaliser, suivi d'un clic droit). Eh bien, le code nous propose globalement la même alternative.
La structure System.Drawing.Color
Elle correspond au choix d'une couleur au sein d'une palette prédéfinie (web ou system). Ces couleurs sont au nombre de 174, ce qui donne déjà un assez large choix. Les couleurs dites web porteront ainsi de jolis noms fleuris, tels LightCoral, Orchid ou SeaShell. Ces couleurs s'afficheront donc de la même manière sur toutes les machines où sera installée l'application. Les couleurs système, elles, porteront des noms rappelant leur utilisation dans Windows, comme InactiveBorder, ScrollBar ou Menu. Choisir une couleur system signifie que cette couleur variera d'une machine à l'autre, selon la manière dont l'utilisateur aura choisi de personnaliser Windows. Bon, jusque là, pas de problème.
Syntaxe
En ce qui concerne le code, on retombe sur une technique déjà abordée. Soit on se tape l'intégrale, c'est-à-dire que pour mettre le fond de Button1 en jaune, on devra écrire quelque chose du genre :
Button1.BackColor = System.Drawing.Color.LemonChiffon
Soit on opte pour la version abrégée, ce qui supposera d'avoir préalablement "importé" l'espace de noms par :
Imports System.Drawing
Ce qui permettra ensuite de se contenter d'un :
Button1.BackColor = Color.LemonChiffon
Définir une couleur personnalisée
Tout comme on peut le faire à la main, on peut dans le code définir sa propre couleur. Celle-ci doit respecter la structure des couleurs prédéfinies, à savoir être composée de quatre octets. La couleur peut donc être spécifiée par la méthode FromArgb, qui requiert en argument un ensemble de quatre nombres de 0 à 255 séparés par des points-virgules.
Le premier de ces arguments représente le degré d'opacité de la couleur (de 0 pour transparent, à 255 pour une couleur pleine). Les trois nombres suivants représentent dans l'ordre la quantité de rouge, de vert et de bleu.
Exemple
Pour colorer un bouton en bleu, écrira-t-on :
Button1.BackColor = Color.FromArgb(255, 0, 0, 255)
Il est toutefois possible de passer la méthode FromArgb uniquement avec trois paramètres. Dans ce cas, ceux-ci désignent les couleurs, et par défaut, l'opacité est considérée comme maximale.
Et voilà de quoi s'amuser, bien qu'on soit censé avoir passé l'âge des coloriages.
Voir aussi
- Couleurs et Propriétés
- Images et Contrôles
- Gérer intelligemment les images
- méthodes graphiques
- Retour au sommaire
Source : Christophe Darmangeat



