Windows FormアプリケーションでコントロールのClearTypeが有効にならない - C#

Windows FormアプリケーションでコントロールのClearTypeが有効にならない現象について紹介します。

概要

Windows8やWindows8.1で作成したWindows Formアプリケーションでコントロールのテキスト文字にClear Typeが適用されないことがあります。なお、Windows7 以前のWindowsではUIのフォントはClearTypeが適用されていないためあまり気になることはありません。

現象の確認

下図のフォームを作成します。フォームにLabel,CheckBox,RadioButton,Buttonを配置します。プロパティはデフォルトのままとします。


プロジェクトを実行します。フォームが表示されます。


ラベルやチェックボックスのフォントを確認するとアンチエイリアスがかかっておらず、ClearTypeが有効になっていません。


Windowsのアクセサリーアプリなどでは、コントロールのフォントにアンチエイリアスが適用されています。
(下図はWindows8.1のペイントブラシのイメージプロパティダイアログです。)

原因

コントロールのデフォルトのフォントが"MS UI Gothic"の場合、ClearTypeが適用できないフォントのため、アンチエイリアスがかかりません。

対策

コントロールのフォントを"メイリオ"などのClearTypeが有効なフォントに変更します。

サンプル

下図のフォームを作成します。右側のコントロールはフォントを"メイリオ"に変更します。


コントロールの"Font"プロパティのNameでフォントの種類を変更できます。

実行結果

プロジェクトを実行します。下図のフォームが表示されます。


右側のコントロールはClearTypeが有効な表示になります。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2023-01-25
作成日: 2015-01-13
iPentec all rights reserverd.