使用自定义控制台颜色

时间:2014-03-05 11:39:14

标签: c# winapi colors console

要使用与ConsoleColor提供的颜色不同的颜色,我会在p/invoke here上找到您实现的代码。 这个解决方案工作正常,我可以使用我想要的每个颜色/颜色代码。 但CONSOLE_SCREEN_BUFFER_INFO_EX只包含几种不同的颜色。如果我将ConsoleColor.White更改为Color.LimeGreen并使用此颜色书写文字,那么如果我稍后将ConsoleColor.White更改为其他颜色,则会重新着色。例如:

        Console.ForegroundColor = ConsoleColor.White;
        Console.WriteLine("White text");  //text is white
        Console.ReadKey(true);
        ConsoleExtender.SetScreenColors(Color.Goldenrod, Color.Black);
        Console.WriteLine("Goldenrod text");  //both lines are goldenrod
        Console.ReadKey(true);
        ConsoleExtender.SetScreenColors(Color.LimeGreen, Color.Black);
        Console.WriteLine("LimeGreen text"); //all three lines are limegreen
        Console.ReadKey(true);

是否可以在运行时更改颜色,而无需重新显示已经可见的文本?

0 个答案:

没有答案