mercredi 9 juin 2010

Des couleurs dans la console

Le  blanc sur fond noir c'est parfois un peu lassant. Il est possible avec la console du framework .NET de mettre un peu de gaieté dans sa console. Les couleurs disponibles se trouvent dans l'énumeration System.ConsoleColor qui contient les couleurs suivante:

évidemment le noir(Black) sur fond noir ne se voit pas très bien. Il est également possible de changer la couleur de fond de votre console ce qui donne selon les couleurs :
Cette fois-ci, vous noterez que c'est le gris(Gray) sur fond gris qui ne passe pas très bien.

Bon passons à la pratique. Comment afficher du texte coloré ou avoir un fond coloré sur son texte ? Voici un petit bout de code manipulant les couleurs de la console :
 Ce code modifie la couleur du texte écrit dans la console (Console.ForegroundColor) ainsi que la couleur de fond du texte écrit (Console.BackgroundColor). Après avoir joué avec les couleurs, il est possible de revenir aux couleurs par défaut en effectuant un appel à la méthode ResetColor. Voici l'exemple généré par ce code : 
Afin d'avoir le fond coloré sur toute la ligne, il est nécessaire de réaliser un padding sur votre chaîne de caractères à afficher. Heureusement pour nous, la classe string dispose d'une méthode RightPadding permettant de completer la ligne... La propriété statique WindowWidth de la classe Console permet d'obtenir la largeur actuelle de la console en nombre de caractères. Ainsi, meme si votre utilisateur a défini une taille différente, il est possible de connaitre le nombre de  caractères que vous pouvez écrire sur une ligne de la console avant de devoir faire un retour à la ligne.

Voila, maintenant vous n'avez plus d'excuses pour avoir des jolies consoles pleines de couleur. Je pense qu'avoir du texte rouge en cas de problème et du vert lorsque tout est ok permet de faire ressortir des messages importants dans une application console. Donc n'hésitez surtout pas à en faire (bon) usage. 

Aucun commentaire:

Enregistrer un commentaire