Console.WriteLine( ""); 卡住

Mis*_*ser 7 c# visual-studio-2017

有时当我执行上述语句时,程序会在控制台应用程序中冻结.如果我休息,我不能移动到下一行.我需要重置缓冲区吗?

这是一个批处理应用程序,它向屏幕显示消息.有没有人经历过这个并设法解决它.这似乎是一件新鲜事.我正在使用Visual Studio 2017教授版.

WriteLine档位在下面的功能.值为sMessage空白"".

static void Display(string sMessage, DisplayColours eColour = DisplayColours.White)
{
    if (eColour == DisplayColours.Yellow)
        Console.ForegroundColor = ConsoleColor.Yellow;
    if (eColour == DisplayColours.Blue)
        Console.ForegroundColor = ConsoleColor.Cyan;
    if (eColour == DisplayColours.Green)
        Console.ForegroundColor = ConsoleColor.Green;
    if (eColour == DisplayColours.Red)
        Console.ForegroundColor = ConsoleColor.Red;
    if (eColour == DisplayColours.Magenta)
        Console.ForegroundColor = ConsoleColor.Magenta;
    if (oFptr != null)
    {
        oFptr.WriteLine(sMessage);
        oFptr.Flush();
    }
    Console.WriteLine(sMessage);
    Console.ForegroundColor = ConsoleColor.White;
}
Run Code Online (Sandbox Code Playgroud)

Ton*_*aac 37

导致这种情况的一件事是,如果您以开始选择文本的方式单击控制台窗口,换句话说,是从控制台窗口复制文本的第一步.发生这种情况时,对控制台窗口的写入将挂起,直到您返回到控制台窗口并按Enter键以删除选择框.

  • 这正是我的问题所在。 (3认同)
  • [如何以编程方式禁用C#控制台应用程序的快速编辑模式?](/sf/ask/955979251/)讨论一种禁用文本选择并防止此类挂起的方法。 (2认同)