我有一個WinForms窗體,並希望使所有文本(例如標籤,按鈕)都是消除鋸齒的。這讓我瘋狂,因爲我在谷歌上找不到任何東西,這意味着它非常明顯,或者我遠離基地。Windows窗體中的消除鋸齒文本
我最好的想法是重寫我的主窗體中的OnPaint,但這似乎沒有改變任何東西。
protected override void OnPaint(PaintEventArgs e) {
e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
base.OnPaint(e);
}
幫助!
我想我只是假設在繪畫本身之後,Form會將相同的Graphics實例傳遞給它的子控件來繪製自己,所以通過在繪製任何東西之前設置TextRenderingHint,它將貫穿始終。但基本上你是說每個控件都有自己的Graphics實例,所以沒有辦法在全局範圍內完成此任務,而不用爲每個控件使用子類。 – 2009-11-04 15:33:16
很確定窗體和包含的控件不共享相同的圖形上下文。 – 2009-11-04 15:43:22