web-dev-qa-db-ja.com

.NETのコンソールウィンドウでフォントを変更する

基本的にユーザーのマシン上のASP.NETプロジェクトと対話するすっきりとした小さなコンソールアプリを作成しました。私には本当に些細な必要があります。コンソールウィンドウを表示する前に、黒の背景、ライムグリーンの前景、Lucidaフォントを用意する必要があります。 Consoleクラスの静的メソッドを使用してカラー部分を実現できました。フォントの変更について話すクラスには何もありませんが?誰かがプログラムでコンソールフォントを変更することができましたか?

助けていただければ幸いです。

22
theraneman

他のユーザーがこの機能を要求しない限り、他のユーザーが使用することを意図したアプリケーションではこれを行わないでください。 Consolasは私のシステムのコンソール用の唯一のフォントです:p

コンソール(または実行可能ファイル)を開くリンクのプロパティを変更してみることができますが、それは私が正しければローカル設定です。これは、システムでアプリを実行するためだけのものである場合に必要になる可能性があります。これらをプログラムで変更する方法がわかりません。

Vista以降、コンソールクラスで動作させることができれば、SetCurrentConsoleFontExがあります。これは必要な処理を実行できます。アプリが私のシステムに来たら、私はあなたを嫌うと言いましたか? ;)

5
OregonGhost

コンソールウィンドウはかなり基本的な環境です。アンマネージドWin32API呼び出しを使用して最新バージョンのWindowsでフォントを変更することは可能ですが、マネージドAPIではサポートされていません。

ただし、フォントの色は Console.ForegroundColor プロパティ。

おそらく、コンソールウィンドウは単純なテキストのみのインターフェイスであることが意図されているため、コンソールウィンドウをそれほど制御しようとしてはいけません。使用する書体を完全に制御したい場合は、Windowsアプリケーションへのアップグレードを検討する必要があります。これにより、テキストウィンドウを簡単に作成し、使用しているフォントや色に必要な操作を実行できます。

1
Paul Turner