私の質問を言葉よりも例を用いて説明する方が簡単です。 「私は二TextRendererラインは、単に右矢印を描くのではなく、フォームにこのコントロールを追加し、一覧の[Wingdings 12
にそのフォントのプロパティを設定しなぜTextRendererがUserControlにWingdingsフォントを描画していないのですか?
namespace WindowsFormsApplication1 {
public partial class UserControl1 : UserControl {
public UserControl1() {
InitializeComponent();
}
private void UserControl1_Paint(object sender, PaintEventArgs e) {
Graphics g = CreateGraphics();
TextRenderer.DrawText(g, "à", new Font("Wingdings", 12), new Point(10, 10), Color.Black);
TextRenderer.DrawText(g, "à", Font, new Point(30, 10), Color.Black);
TextRenderer.DrawText(g, "à", new Font(Font.Name, Font.Size), new Point(50, 10), Color.Black);
g.Dispose();
}
}
}
:
は、これは私のUserControl1のコードですà "と表示されます。
3行目は、最初の行と同じように矢印を描きます。
多分私はいくつかの設定が不足している、誰かがそれを説明することができますか?
私はフォントマッパーがステップインするのは説得力のある理由はありませんが、ePrintを使用せず、フォントを破棄しないで、OnPaintをオーバーライドしないための-100エレガンスポイントです。 –
新しい回答として回答します。 –