2010-04-30 87 views

回答

118

是的。看到這個article。這裏有一個例子從那裏:

Console.BackgroundColor = ConsoleColor.Blue; 
Console.ForegroundColor = ConsoleColor.White; 
Console.WriteLine("White on blue."); 

enter image description here

+0

是否可以添加背景圖片? – RollRoll 2016-06-14 14:43:55

+22

「是否可以添加背景圖片?」 - 當你只想喝漂白劑時的那種感覺。但開玩笑說,不是在默認的Windows/DOS終端上,不是。 – carefulnow1 2016-08-23 20:47:58

+1

我正在研究一個應用程序,它將向太空發射一艘太空船。如果我不更改控制檯應用程序屏幕上的文本顏色,我能做到這一點嗎? – 2017-08-30 06:55:18

55
class Program 
{ 
    static void Main() 
    { 
     Console.BackgroundColor = ConsoleColor.Blue; 
     Console.ForegroundColor = ConsoleColor.White; 
     Console.WriteLine("White on blue."); 
     Console.WriteLine("Another line."); 
     Console.ResetColor(); 
    } 
} 

摘自here

+12

'Console.ResetColor()'是很好的補充... – Tarik 2017-04-17 15:18:04

27

以上說法都是固體反應,但是請注意,他們不是線程安全的。如果您使用多個線程寫入控制檯,更改顏色將會添加競爭條件,從而可能會產生一些奇怪的外觀輸出。它很容易修復,但:

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(); 
     } 
    } 
} 
+2

即使沒有顏色變化,從多個線程寫入而沒有同步也會導致亂碼輸出:它不僅僅是改變導致競爭條件的顏色 – Joe 2017-07-05 09:41:57

+1

@Joe單個'Write'調用不會**亂碼。請參閱https://stackoverflow.com/questions/4812508/is-console-writeline-thread-safe。這只是寫電話的順序,而不是「安全」的。 – BatteryBackupUnit 2017-10-17 09:29:08

0

是的,它很容易和posible。定義第一個默認顏色。

Console.BackgroundColor = ConsoleColor.Black; 
Console.ForegroundColor = ConsoleColor.White; 
Console.Clear(); 

Console.Clear()這是爲了建立新的控制檯的顏色很重要。如果你不做這一步,你可以在Console.ReadLine()詢問數值時看到組合的顏色。

然後,您可以更改每個打印顏色:

Console.BackgroundColor = ConsoleColor.Black; 
Console.ForegroundColor = ConsoleColor.Red; 
Console.WriteLine("Red text over black."); 

當完成程序,記得完成重置控制檯的顏色:

Console.ResetColor(); 
Console.Clear(); 
與磊科

現在我們有另外一個問題,如果你想以「保留」用戶體驗,因爲終端在每個操作系統上具有不同的顏色。

我正在製作一個圖書館,解決這個問題與文本格式:顏色,對齊和更多。隨意使用和貢獻。

https://github.com/equiman/colorify/

顏色的Windows(暗):
enter image description here

顏色爲MacOS(光):
enter image description here

相關問題