Изменение шрифта в окне консоли в .NET - PullRequest
22 голосов
/ 26 ноября 2009

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

Любая помощь приветствуется.

Ответы [ 2 ]

5 голосов
/ 26 ноября 2009

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

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

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

1 голос
/ 26 ноября 2009

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

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

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

...