編寫一個小命令行工具,用不同的顏色輸出效果會很好。這可能嗎?是否有可能以.NET的顏色寫入控制檯?
回答
是的。看到這個article。這裏有一個例子從那裏:
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
以上說法都是固體反應,但是請注意,他們不是線程安全的。如果您使用多個線程寫入控制檯,更改顏色將會添加競爭條件,從而可能會產生一些奇怪的外觀輸出。它很容易修復,但:
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();
}
}
}
即使沒有顏色變化,從多個線程寫入而沒有同步也會導致亂碼輸出:它不僅僅是改變導致競爭條件的顏色 – Joe 2017-07-05 09:41:57
@Joe單個'Write'調用不會**亂碼。請參閱https://stackoverflow.com/questions/4812508/is-console-writeline-thread-safe。這只是寫電話的順序,而不是「安全」的。 – BatteryBackupUnit 2017-10-17 09:29:08
是的,它很容易和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();
與磊科
現在我們有另外一個問題,如果你想以「保留」用戶體驗,因爲終端在每個操作系統上具有不同的顏色。
我正在製作一個圖書館,解決這個問題與文本格式:顏色,對齊和更多。隨意使用和貢獻。
- 1. 是否可以更改Spyder Python控制檯的背景顏色?
- 2. 顏色控制檯 - 性能?
- 3. 是否有可能控制Kibana酒吧的顏色?
- 4. 是否可以在javascript執行中寫入mongodb控制檯?
- 5. 是否有可能在控制檯中重寫上一行?
- 6. 是否有可能將代碼放入R中的控制檯?
- 7. 是否可以在沒有stdlibs的情況下寫入控制檯? c/C++
- 8. 是否可以從.net更改控制檯窗口的圖標?
- 9. 是否可以在控制檯中更改整個背景顏色?
- 10. 是否可以使用.NET寫入CD?
- 11. 從方法寫入控制檯.NET 4.0
- 12. 什麼是控制檯顏色值
- 13. Eclipse中是否有控制檯功能?
- 14. 是否可以爲控制檯編寫擴展方法?
- 15. Wildfly上的管理控制檯顏色可以更改嗎?
- 16. 找出是否有控制檯可用
- 17. 是否有文件名或句柄寫入控制檯?
- 18. 我可以更改螢幕控制檯背景顏色嗎?
- 19. 是否有可能使一個Firebug的控制檯自動化?
- 20. 是否有可能取代Eclipse中的默認控制檯?
- 21. 是否可以爲一個燭臺選擇不同的顏色?
- 22. 是否可以使用xdotool輸入Web控制檯命令?
- 23. 是否可以更改ScrollBar的顏色?
- 24. 是否可以訪問所有顏色陣列中的所有顏色?
- 25. 是否有可能在Windows控制檯應用程序
- 26. 是否有可能假冒Windows控制檯API?
- 27. 是否有可能爲win32控制檯和MFC GUI創建DLL
- 28. 是否有可能使用symfony3控制檯
- 29. 更改控制檯文本的顏色
- 30. Java控制檯中的顏色
是否可以添加背景圖片? – RollRoll 2016-06-14 14:43:55
「是否可以添加背景圖片?」 - 當你只想喝漂白劑時的那種感覺。但開玩笑說,不是在默認的Windows/DOS終端上,不是。 – carefulnow1 2016-08-23 20:47:58
我正在研究一個應用程序,它將向太空發射一艘太空船。如果我不更改控制檯應用程序屏幕上的文本顏色,我能做到這一點嗎? – 2017-08-30 06:55:18