我注意到Windows控制台的行为很奇怪。
static void Main(string[] args)
{
Console.SetWindowSize(80, 25);
Console.SetBufferSize(80, 25);
Console.ReadKey(true);
Console.SetWindowSize(80, 25);
Console.SetBufferSize(80, 25);
Console.ReadLine();
}
在ReadKey()之后,窗口大小不应更改,但可以更改!
在Windows的新更新控制台中运行时,为什么此简单代码有问题?它在没有获得控制台更新的旧式控制台或非Window 10机器中可以正常工作。此行为使我所有其他控制台应用程序出错。我制作了一个视频来展示这种奇怪的行为:https://youtu.be/ZST-u-LIjQQ
编辑:有没有办法在代码中临时强制旧版控制台中的应用程序?
EDIT2:我发现在新控制台中,设置windowsize时,滚动条包含在大小中,因此在最后几个空格中进行设置会隐藏在滚动条后面。在旧版中不包括在内,因此会显示所有内容。