Горизонтальная полоса прокрутки исчезает при изменении размера окна консоли - PullRequest
0 голосов
/ 22 февраля 2020

У меня есть простое консольное приложение, и горизонтальная полоса прокрутки исчезает при изменении размера окна. Однако вертикальная полоса прокрутки остается видимой. Есть ли способ исправить эту проблему. Я использую следующие настройки консоли в моем 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);
}

Отредактировано: проблема была в том, что свойство переноса текста было включено, поэтому при изменении размера окна консоли текст переносился, а горизонтальная полоса прокрутки исчезала. Отключение свойства переноса текста решило проблему.

1 Ответ

1 голос
/ 22 февраля 2020

Если вы не хотите использовать полосы прокрутки, установите ширину и высоту буфера в соответствии с размерами окна. Если вы хотите полосы прокрутки, установите ширину и высоту буфера больше, чем размер окна. Если буфер шире окна, вы получите горизонтальную полосу прокрутки. Если буфер выше окна, вы получите вертикальную полосу прокрутки. Если пользователь изменяет размер окна на размер больше или больше, тогда соответствующий размер буфера пропускает полосу прокрутки

Чтобы больше поиграть с размерами буфера и окна (для вашего понимания), откройте окно командной строки и щелкните правой кнопкой мыши строка заголовка / получить свойства. Размер буфера - это размер, а текст, в котором хранится текст, - это размер окна просмотра этих данных.

...