2013-04-24 17 views
5

ボタンのフォントをシステムのMarlettフォントに設定しようとしています。しかし、私は手動でfont-faceを設定しますが、他のフォントが使用されます。また、フォントダイアログを使用してそのボタンのフォントを選択すると、Marlettは表示されません。ボタンのフォントをMarlettに設定するには

なぜそうですか? .NET WindowsフォームコントロールでMarlettフォントを使用するには何ができますか?

+0

マシンにフォントがインストールされていますか? –

+0

はい、私はそれが肯定的です。 – Spook

+0

[OK]をクリックして、質問をし、 'Font'を設定するために使用しているコードを追加してください(http://stackoverflow.com/questions/16191751/edit)。 –

答えて

6

をこのコードを置きますカスタムインストールされたフォントは、デザイナーにが表示されません。良いニュースは、Fontプロパティがアンビエントなので、すべてのコントロールに同じFontを設定したい場合は、のみをFormに設定する必要があります。しかし、それはあなたがちょうど1つの制御がFontはそうはこのやろうがしたいように思える:設定されます

ctrl.Font = new Font("Marlett", 8.5f); 

そのコントロールのFontMarlettに例えば8.5のサイズ。彼らはPanel状の容器に入れることができるならば、あなたが同じFontを持っているコントロールのセット全体を望んでいた場合

、その後、あなただけのPanelFont設定する必要があります。もう一度、周囲のプロパティです。

+0

Marlettは、最小化、最大化、閉じる、スクロールバーの矢印などのようなグリフ付きの組み込みフォントです。デザイナーはそれを正しく設定しません(手動でフォント名を入力したとしても)。ありがとう! – Spook

+0

@ Spook、私は本当に助けになることができてうれしいです! –

4
button1.Font = new Font("Marlett",8, FontStyle.Regular); 

は、私はデザイナーの背後にあるどのようなコードを知りませんが、私は持っているあなたが(iinitializecomponet後またはフォームのLoadイベントでconstrcutorからで)変更をしたいあなたのボタン名Button1を、用

0

デザイナーはデフォルトでGdiCharSetを0に設定したいと思われるでしょう。これにより、Marlettフォントは別のフォントにフォールバックされます。

GdiCharSetを1に変更すると、正常にレンダリングされます。

.designer.csで行われた変更にも注意してください。これは、コードから手動でフォントを設定するときに、なぜ機能したのかについても説明します。

関連する問題