2016-05-18 10 views
0

基本的には、自分のOSにインストールされているプロジェクトでカスタムフォントを使用しています。 問題は、クライアントのPCではこのフォントがインストールされていないため、アプリケーションはデフォルトのフォントを使用していることです。C#アプリケーションで特定のフォントを使用する

フォーム/コントロールコードを変更することなくアプリケーション内でそのフォントを使用する方法はありますか?最善の解決策は、システムにインストールしてすべてのフォーム/コントロールコードを変更することなく、フォントを使用することです。

+0

すべてのアプリケーションで、クライアント/ユーザマシン上にインストールされているフォントが常に使用されます。好みのフォントだけを指定できます。マシンにインストールされていない場合は、デフォルトのフォントが使用されます。 –

答えて

1

グローバル設定はありません。

フォームのすべてのコントロールを再帰的にループし、フォントを変更する必要があります。フォームから継承する基本フォームを作成します。再帰を行います。

すべてのフォームをその基本フォームから継承させる。 PrivateFontCollectionを使用してフォントをインポートし、conrtolフォントを変更します。

var pfc = new PrivateFontCollection(); 
pfc.AddFontFile(@"C:\MyFont.ttf"); 
myControl.Font = new Font(pfc.Families[0], 14, FontStyle.Regular); 
関連する問題