在.NET中更改控制台窗口中的字体

时间:2009-11-26 09:35:09

标签: c# console-application

我构建了一个简洁的小型控制台应用程序,它基本上与用户计算机上的ASP.NET项目交互。我有一个非常微不足道的需求,我需要做的就是在我显示控制台窗口之前,我需要它有一个黑色背景,一个柠檬绿前景和一个Lucida字体。我可以通过使用Console类的静态方法来实现颜色部分。虽然课堂上没有什么可以谈论改变字体?有没有人能够以编程方式更改Console字体?

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:5)

请不要在其他用户使用的应用程序上执行此操作,除非他们请求此功能。 Consolas是我系统上唯一的控制台字体:p

您可以尝试更改打开控制台(或可执行文件)的链接的属性,但如果我是正确的话,那就是本地设置。如果它只是用于在您的系统上运行应用程序,那么这可能就是您想要的。我不确定如何以编程方式更改这些内容。

自Vista以来,SetCurrentConsoleFontEx可以做你想要的,如果你可以使用Console类。我提到如果应用程序进入我的系统,我会讨厌你吗? ;)

答案 1 :(得分:1)

控制台窗口是一个非常基本的环境。虽然可以使用非托管Win32 API调用更改最新版本Windows中的字体,但是托管API不支持它。

但是,字体颜色可以使用Console.ForegroundColor属性设置。

可以说,你不应该试图对控制台窗口施加如此多的控制,因为它只是一个简单的纯文本界面。如果你想对所使用的字体有绝对的控制权,你应该考虑升级到Windows应用程序,因为这样你就可以轻松地创建一个文本窗口,并根据你想要的字体和颜色做任何事情。