首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以在.NET中以彩色格式写入控制台?

是否可以在.NET中以彩色格式写入控制台?
EN

Stack Overflow用户
提问于 2010-04-30 16:40:15
回答 10查看 155.2K关注 0票数 225

写一个小的命令行工具,它将很好地输出不同的颜色。这个是可能的吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-04-30 16:42:22

是。请参阅此article。下面是其中的一个示例:

代码语言:javascript
复制
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");

票数 296
EN

Stack Overflow用户

发布于 2010-04-30 16:41:26

代码语言:javascript
复制
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

票数 137
EN

Stack Overflow用户

发布于 2016-01-19 09:02:41

上面的注释都是可靠的响应,但是请注意,它们不是线程安全的。如果您正在使用多个线程写入控制台,则更改颜色将添加竞争条件,这可能会创建一些看起来奇怪的输出。不过,修复起来很简单:

代码语言:javascript
复制
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();
        }
    }
}
票数 62
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2743260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档