Alterando a cor do background e da letra para console applications com .Net Core

0

Em um dos meus aplicativos recentes, precisei alterar as cores de primeiro plano e de segundo plano do console à partir de diferentes cenários para pessoas com certa deficiência visual.

A classe Console no C# com .Net Core representa o console do sistema. Podemos conseguir isso definindo as propriedades de  Console incluindo suas cores, tamanho de fontes etc.. O enum ConsoleColor representa um valor da cor do console. Tenha em mente que o ConsoleColor suporta apenas um número limitado de cores.

O trecho de código a seguir retorna o plano de fundo atual e as cores de primeiro plano do console, também o altera e no final você pode ver como resetá-lo:

//obter
ConsoleColor background = Console.BackgroundColor;  
ConsoleColor foreground = Console.ForegroundColor;  

//definir
Console.ForegroundColor = ConsoleColor.White;  
Console.BackgroundColor = ConsoleColor.Red;  

//resetar
Console.ResetColor();  

 

O código abaixo é o código completo que percorre todas as cores do Console e altera as cores de fundo e de primeiro plano do console:

     using System;  
    class ConsoleColorsClass {  
        static void Main(string[] args) {  
            // loop console colors
            foreach(ConsoleColor color in Enum.GetValues(typeof(ConsoleColor))) {  
                Console.ForegroundColor = color;  
                Console.WriteLine($ "Foreground color set to {color}");  
            }  
            Console.WriteLine("=====================================");  
            Console.ForegroundColor = ConsoleColor.White;  
            // loop background colors
            foreach(ConsoleColor color in Enum.GetValues(typeof(ConsoleColor))) {  
                Console.BackgroundColor = color;  
                Console.WriteLine($ "Background color set to {color}");  
            }  
            Console.WriteLine("=====================================");  
            // resetar cores
            Console.ResetColor();  
            Console.ReadKey();  
        }  
    }  
    

 

A representação do console seria esta:

Espero que tenham gostado! Um abraço!

Fonte: CCorner

 

 

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com