我有一个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