Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 控制台颜色背景色不变_C#_.net_Unit Testing_Windows Console - Fatal编程技术网

C# 控制台颜色背景色不变

C# 控制台颜色背景色不变,c#,.net,unit-testing,windows-console,C#,.net,Unit Testing,Windows Console,我有一个静态方法,如果它在测试环境下运行,我想用它来更改Console.BackgroundColor。当我在换色后断线时,颜色仍然设置为黑色 public static void LogError(string err) { if (IsRunningFromMspec) { Console.BackgroundColor = ConsoleColor.DarkRed; Console.WriteLine(" &&&" +

我有一个静态方法,如果它在测试环境下运行,我想用它来更改Console.BackgroundColor。当我在换色后断线时,颜色仍然设置为黑色

public static void LogError(string err)
{
    if (IsRunningFromMspec)
    {
        Console.BackgroundColor = ConsoleColor.DarkRed;
        Console.WriteLine(" &&&" + err);
    }
    else if (MyTracer.MyLevelSwitch.TraceError && !string.IsNullOrEmpty(err))
    {
       Trace.TraceError(" &&& - " + err);
    }
}
不会更改整个控制台窗口的背景色。它只会更改设置颜色后要写入的文本的背景色

因此,您的输出控制台。WriteLine&&&+err;现在将以黑色背景编写:

正如Ian H.在评论中指出的,将整个控制台窗口的背景设置为所需的颜色调用

Console.Clear();
在你改变颜色之后。当然,这将删除您以前编写的所有内容,您可能不想要这些内容。

不会更改整个控制台窗口的背景色。它只会更改设置颜色后要写入的文本的背景色

因此,您的输出控制台。WriteLine&&&+err;现在将以黑色背景编写:

正如Ian H.在评论中指出的,将整个控制台窗口的背景设置为所需的颜色调用

Console.Clear();

在你改变颜色之后。当然,这将删除您以前编写的所有内容,您可能不希望这些内容。

要绘制整个背景,请执行Console.Clear;设置背景色后。@IanH。啊,对了,很好,忘了,我想我记得我知道一次。Thx,为了完整性,我将添加它。要调用的Windows API用于获取当前srWindow,用于读取起始坐标和字符单元数。修改每个单元格的背景颜色,并通过写回属性数据。要绘制整个背景,请执行Console.Clear;设置背景色后。@IanH。啊,对了,很好,忘了,我想我记得我知道一次。Thx,为了完整性,我将添加它。要调用的Windows API用于获取当前srWindow,用于读取起始坐标和字符单元数。修改每个单元格的背景色,并通过将属性数据写回。