25

Winform にラベルがあり、XCalibur というカスタム フォントを使用して、よりおしゃれに見せたいと考えています。

ラベルにカスタム フォントを使用してソリューションをビルドし、\bin\Release のファイルを .ZIP すると、フォントがインストールされているかどうかに関係なく、使用したカスタム アプリでエンド ユーザーにラベルが表示されますか?

そうでない場合、Labels.Text でカスタム フォントを使用する適切な方法は何ですか?

4

4 に答える 4

35

フォントをリソースとして埋め込み (または bin ディレクトリに含めるだけ)、 を使用しPrivateFontCollectionてフォントを読み込みます (AddFontFileおよびAddMemoryFont関数を参照)。次に、マシンにインストールされているように、フォントを通常どおり使用します。

PrivateFontCollection クラスを使用すると、アプリケーションは、システム バージョンのフォントを置き換える必要なく、既存のフォントのプライベート バージョンをインストールできます。たとえば、GDI+ は、システムが使用する Arial フォントに加えて、Arial フォントのプライベート バージョンを作成できます。PrivateFontCollection を使用して、オペレーティング システムに存在しないフォントをインストールすることもできます。

ソース

于 2009-08-25T18:15:05.743 に答える
5

解決策は、目的のフォントをアプリケーションに埋め込むことだと思います。

このリンクを試してください:

http://www.emoreau.com/Entries/Articles/2007/10/Embedding-a-font-into-an-application.aspx

于 2009-08-23T18:17:56.907 に答える
4

使用するフォントを追加します。

ここに画像の説明を入力

`

    PrivateFontCollection modernFont = new PrivateFontCollection();

    modernFont.AddFontFile("Font.otf");

    label.Font = new Font(modernFont.Families[0], 40);`

メソッドも作りました。

 void UseCustomFont(string name, int size, Label label)
    {

        PrivateFontCollection modernFont = new PrivateFontCollection();

        modernFont.AddFontFile(name);

        label.Font = new Font(modernFont.Families[0], size);


    }

ここに画像の説明を入力

于 2016-10-04T21:55:19.873 に答える