Jason. Cała informatyka w jednym miejscu!

Jeszcze jeden temacik dotyczący poznanej klasy "Console". Zainteresujemy się teraz "ConsoleColor". "ConsoleColor" w języku C# jest sam w sobie typem wyliczeniowym, który dysponuje zestawem obsługiwanych kolorów przystosowanych dla zmiany koloru tła konsoli oraz koloru znaków. Polecam wszystkim, którzy lubią bawić się w artystyczne zapędy w oknie konsolowym :D!

"CONSOLECOLOR" W JĘZYKU C# NADA TWOJEJ KONSOLI NOWY WYGLĄD!

Jeżeli jeszcze nie wiecie, C# ma bardzo dobrze rozbudowane funkcjonalności kontrolujące wygląd konsoli. Jednym z nich jest możliwość kontrolowania kolorów tła i treści. Nie znajdziecie takich bajerów w Javie (tam nie ma nawet czyszczenia konsoli, dlaczego?!)! Zanim rzucimy się do kodu, poznamy wpierw wszystkie dostępne kolory. Ale zanim poznamy wpierw wszystkie dostępne kolory, musimy wiedzieć na ile możemy sobie pozwolić co do "kolorowania" :).

Dwie właściwości, które wpływają na kolorystykę to "BackgroundColor" i "ForegroundColor" (nawiązując do artykułu o klasie "Console"). Pierwszy odpowiada za tło konsoli, choć jest to mocno uproszczone stwierdzenie (to de facto zmienia jedynie tło konsoli w miejscu kursora, czyli migającego prostokącika), a drugi kontroluje kolor treści wyświetlanej w konsoli, czyli wszystkie wywołania "Console.Write" i "Console.WriteLine" poznane na samym początku serii.

ZESTAW KOLORÓW

Teraz konkret. Oto pełna tabelka ze wszystkimi dostępnymi kolorami jakimi dysponuje "ConsoleColor" w języku C# (każdy z nich może zostać podstawiony zarówno do właściwości "BackgroundColor", jak i "ForegroundColor"):

NAZWA KOLOR
Black czarny
Blue niebieski
Cyan niebiesko-zielony
DarkBlue ciemnoniebieski
DarkCyan ciemny niebiesko-zielony
DarkGray ciemnoszary
DarkGreen ciemnozielony
DarkMagenta ciemna magenta (fuksja)
DarkRed ciemnoczerwony
DarkYellow ciemnożółty
Gray szary
Green zielony
Magenta magenta (fuksja)
Red czerwony
White biały
Yellow żółty

PRZYKŁAD KODU ŹRÓDŁOWEGO

Zmienimy sobie teraz kolorki przy pomocy "ConsoleColor" w języku C# w podanym przykładzie kodu źródłowego i kończymy spektakl :D! Oto najprostsze w świecie wypisywanie łańcuchów znaków na strumień wyjściowy, które domyślnie jest "podpięte" do konsoli. "Wzbogacamy" wywołania jednej z metod poznanych jako pierwsze w nauce "CSharpa" modyfikując właściwości "BackgroundColor" i "ForegroundColor":

Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Black;

Console.WriteLine("Pierwszy tekst.");

Console.BackgroundColor = ConsoleColor.DarkGray;
Console.ForegroundColor = ConsoleColor.Yellow;

Console.WriteLine("Drugi tekst.");

Console.BackgroundColor = ConsoleColor.DarkCyan;
Console.ForegroundColor = ConsoleColor.Magenta;

Console.WriteLine("Trzeci tekst.");
Console.ResetColor();

Siłą rzeczy musicie sobie ten program uruchomić u siebie, aby być naocznym świadkiem kolorowych tekstów w konsoli. Gdyby Wam się nie chciało kompilować, oto efekt w całej okazałości, po zmianie kolorów z "ConsoleColor" w języku C#:

Wygląd konsoli po modyfikacji właściwości "BackgroundColor" i "ForegroundColor"

Efekt po modyfikacji właściwości "BackgroundColor" i "ForegroundColor".

Doradzę Wam wstawić na sam koniec wywołanie "ResetColor", żeby nie zostawić tak tych kolorów "fruwających" po całej reszcie komend i nie czekać aż samo się przywróci do domyślnych ustawień :).

Typ wyliczeniowy "ConsoleColor" w języku C#

"ConsoleColor" to typ wyliczeniowy przechowujący wszystkie wspierane kolory zarówno dla jednej, jak i drugiej właściwości.


Tak się kończy kolorowa historyjka o "ConsoleColor" w języku C#. Przyda się nie tylko do bawienia się, ale także żeby poprawić czytelność danych wyjściowych.

PODOBNE ARTYKUŁY