在.NET中使用本机外观和感觉绘制文本
我正在使用.NET1,并且希望将文本绘制为本地文本。可以通过配置图形吗?在.NET中使用本机外观和感觉绘制文本
当FlatStyle设置为System时,我需要将该文本渲染为System.Windows.Forms.Label。
我已经配置了SmoothingMode和AntiAliasGridFit,但不幸的是,结果是不一样的:
我使用的是在这两种情况下相同的字体(UI的Segoe宋体)。
任何想法?
您是否尝试过使用TextRenderer
类而不是Graphics.DrawString
例程?它被引入到框架中,恰恰是因为Windows窗体的默认呈现和.NET的GDI +包装器之间存在差异。
的MSDN说:
TextRenderer类提供了一组可用于在Windows窗体控件测量和绘制文字的静态方法。
我相信“TextRenderer”类只在2.0及更高版本的框架中可用。他明确指出.Net 1.1。 – 2011-03-17 19:48:34
@布兰登:哎,没看到。但要直言不讳,这是一个不合理的要求,我会*强烈建议立即转换平台,*在做任何其他工作之前。 – 2011-03-17 20:52:07
那么,我讨厌在.NET 1.1中开发,但它是我的一个需求。我们需要支持与.NET 2.0或更高版本不兼容的Visual Studio 2003集成。 – 2011-03-18 09:54:19
你是如何渲染文本?在.net1.1我假设你正在使用Graphics.DrawString?如果DrawString没有产生所需的格式,也许你应该看看调用本地的“DrawTextEx”函数。 – 2011-03-17 19:33:27
这已经解决了.NET之前的4个主要版本。有点毫无意义的教老狗新花样。 – 2011-03-17 20:07:24
@Hans也许他有一个特定的目标平台要求?在理想的世界中,我们都会使用最新最好的一切。鉴于,1.1是古老的,但IE6也是如此,可悲的是,它仍然是许多现实世界中需要的目标平台。 – 2011-03-17 20:17:04