На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Управление размером окна консоли C#


При разработке консольных приложений может потребоваться определить размер текущего окна или изменить размеры для конкретной цели. Обе эти задачи становятся возможными с помощью класса Console.

Класс Console

При написании приложения командной строки, которое выполняется в окне консоли, может потребоваться определить размер окна перед выводом текста. Например, вы можете показать ход выполнения программы с помощью пользовательского индикатора выполнения и хотите, чтобы этот индикатор использовал правильное количество символов для заполнения ширины окна. В других ситуациях вы можете установить высоту и ширину окна консоли, чтобы оно соответствовало дизайну вашего приложения.

Определение размера окна консоли возможно с помощью двух свойств класса Console. Они WindowWidth и WindowHeight. Оба являются статическими элементами, которые возвращают соответствующее измерение окна в символах. Если вы измените значения свойств, то окно консоли соответственно изменит свой размер.

Чтобы продемонстрировать это, добавьте следующий основной метод в новое консольное приложение и запустите программу. Этот код повторяется до тех пор, пока вы не нажмете клавишу Enter. Во время каждой итерации цикла считываются свойства windowHeight и windowWidth и отображается текущий размер окна. При нажатии одной из клавиш со стрелками окно расширяется или сжимается в зависимости от используемой клавиши.

namespace ConsoleResize
{
	class Program
	{
		public static void Main(string[] args)
		{
			Console.CursorVisible = false;
    		Console.ForegroundColor = ConsoleColor.Green;
    		ConsoleKeyInfo keyInfo;
    		Console.Title = "UpRead.Ru";
			
			do
    	{
        Console.CursorLeft = 0;
        Console.CursorTop = 1;
        Console.Write("({0}x{1}) ", Console.WindowWidth, Console.WindowHeight);  
 
        keyInfo = Console.ReadKey();
 
        switch (keyInfo.Key)
        {
            case ConsoleKey.LeftArrow:
                Console.WindowWidth = Math.Max(Console.WindowWidth - 1, 6);
                break;
            case ConsoleKey.RightArrow:
                Console.WindowWidth = Math.Min(Console.WindowWidth + 1, 100);
                break;
            case ConsoleKey.UpArrow:
                Console.WindowHeight = Math.Max(Console.WindowHeight - 1, 2);
                break;
            case ConsoleKey.DownArrow:
                Console.WindowHeight = Math.Min(Console.WindowHeight + 1, 60);
                break;    
        }
    } while (keyInfo.Key != ConsoleKey.Enter);
		}
	}
}




Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, си шарп, консоль





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Решение проблем с WP
Урок 21. Интерфейсы C#


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.