En écrivant un petit outil de ligne de commande, ce serait bien de sortir dans différentes couleurs. Est-ce possible ?
Réponses
Trop de publicités?Oui. Voir cet article. Voici un exemple à partir de là :
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
Darin Dimitrov
Points
528142
class Program
{
static void Main()
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
Console.WriteLine("Another line.");
Console.ResetColor();
}
}
Emmené d'ici.
Roger Hill
Points
935
Les commentaires ci-dessus sont des réponses solides, mais notez qu'ils ne sont pas sûrs. Si vous écrivez sur la console avec plusieurs threads, changer les couleurs ajoutera une condition de course qui peut créer une sortie étrange. Il est cependant simple à corriger :
public class ConsoleWriter
{
private static object _MessageLock= new object();
public void WriteMessage(string message)
{
lock (_MessageLock)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.WriteLine(message);
Console.ResetColor();
}
}
}