Как запретить пользователю прокручивать консоль?C#

Место общения программистов C#
Ответить
Anonymous
 Как запретить пользователю прокручивать консоль?

Сообщение Anonymous »

Я программирую консольное приложение в Visual Studio в Windows. Часть моего дизайна заключается в том, что текущая информация отображается в верхней части экрана, а пользователю предлагается ввести команду под ней, которая изменяет данные. Код команды работает отлично.

Код: Выделить всё

Name: Example Name
Images: 0
Videos: 0
Gifs: 0

Comics: 0
Collections: 0

Total: 0

>
Мне бы хотелось, чтобы на экране отображалась только эта информация, но пользователь по-прежнему может прокручивать консоль вверх и просматривать предыдущую информацию, и я не знаю почему.
Это метод, который я использую для этого: класс под названием «ConsoleBottom.cs»

Код: Выделить всё

public static (bool Success, string Response) DisplayContentAndGetResponse(List linedDisplayContent, string promptText, int promptLineNumber) {
if (promptText.Length > Console.WindowWidth) return (false, "");
if (promptLineNumber < 0 || promptLineNumber > Console.WindowHeight) return (false, "");

Console.Write("\x1b[2J");
Console.Clear();

// only write as many lines as can fit on the screen
int smaller = int.Min(linedDisplayContent.Count, Console.WindowHeight);

for (int i = 0; i < smaller; i++) {
Console.SetCursorPosition(0, i);
Console.Write("\x1b[2K");
Console.Write(linedDisplayContent[i]);
}

// Clear prompt line and write prompt
Console.SetCursorPosition(0, promptLineNumber);
Console.Write("\x1b[2K");
Console.Write(promptText);

string? response = Console.ReadLine();
response ??= string.Empty;

return (true, response);
}
Даже с помощью Console.Clear() и Console.Write("\x1b]2J"); я все еще могу прокручивать вверх и просматривать предыдущие информацию в терминале.
Как лучше всего изменить поведение консоли в моем приложении, чтобы пользователь не мог прокручивать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... he-console
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»