首页 > 解决方案 > 调整控制台窗口大小时水平滚动条消失

问题描述

我有一个简单的控制台应用程序,当我调整窗口大小时,水平滚动条消失了。但是,垂直 ScrollBar 仍然可见。有没有办法解决这个问题。我在我的main.

if (Environment.UserInteractive)
{
    // Console dimensions 
    Console.SetWindowSize(80, 20);
    Console.BufferWidth = 120;
    Console.BufferHeight = Int16.MaxValue - 1;

    var service = new WindowsService();
    service.ManualStartAndStop(args);
}
else
{
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[]
    {
    new WindowsService()
    {
        ServiceName = "TestService"
    }
    };
    ServiceBase.Run(ServicesToRun);
}

编辑:问题是,文本换行属性已启用,因此当调整控制台窗口大小时,文本会换行并且水平滚动条会消失。禁用文本环绕属性解决了该问题。

标签: c#.netconsole-application

解决方案


如果您不想要滚动条,请将缓冲区的宽度和高度设置为与窗口大小相同。如果需要滚动条,请将缓冲区的宽度和高度设置为大于窗口大小。如果缓冲区比窗口宽,您将获得一个水平滚动条。如果缓冲区比窗口高,您将获得一个垂直滚动条。如果用户将窗口大小调整为最大/更大,则滚动条的相关缓冲区尺寸将消失

要更多地使用缓冲区和窗口大小(以进一步了解),请打开命令提示符窗口并右键单击标题栏/获取属性。缓冲区是大小,f是保存文本的东西,窗口是该数据的视口大小


推荐阅读