用一個例子比用單詞解釋我的問題更容易。爲什麼TextRenderer沒有在Usercontrol中繪製Wingdings字體?
這是我的UserControl1代碼:
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();
}
}
}
我這個控件添加到窗體並將其字體屬性設置爲宋體12
第二TextRenderer行不畫一個向右的箭頭,而只是「一個」。
第三行確實繪製了一個箭頭,與第一行完全相同。
也許我錯過了一些設置,有人可以解釋一下嗎?
很難看出問題所在,我沒有看到字體映射程序介入的強制性理由。但是,呃,-100優雅點不會覆蓋OnPaint,不會使用e.Graphics,也不會使用字體。 –
回答爲新答案。 –