Подтвердить что ты не робот

Изменение шрифта в окне консоли в .NET.

Я создал аккуратное небольшое консольное приложение, которое в основном взаимодействует с проектами ASP.NET на компьютере пользователя. У меня есть очень тривиальная потребность, все, что мне нужно сделать, - это показать окно консоли, мне нужен черный фон, зеленый зеленый цвет и шрифт Lucida. Я мог бы достичь цветной части, используя статические методы класса Console. Хотя в классе нет ничего, что говорит об изменении шрифтов? Кто-нибудь мог программно изменить шрифт консоли?

Любая помощь была оценена.

4b9b3361

Ответ 1

Пожалуйста, не делайте этого в приложении, которое предназначено для использования от других пользователей, если они не запрашивают эту функцию. Консола - единственный шрифт для консолей в моей системе: p

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

С Vista, там SetCurrentConsoleFontEx, который может делать то, что вы хотите, если вы можете заставить его работать с классом Console. Я упомянул, что буду ненавидеть вас за это, если приложение когда-нибудь появится в моей системе?;)

Ответ 2

Окно консоли - довольно простая среда. Несмотря на возможность изменения шрифта в последних версиях Windows с помощью неуправляемых вызовов Win32 API, он не поддерживается через управляемый API.

Цвет шрифта, однако, можно установить с помощью свойства Console.ForegroundColor.

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