【发布时间】:2010-11-15 15:48:08
【问题描述】:
我们最近将旧的 VB6 Windows 应用程序升级到 C# .NET 4.0。我希望替换对 Microsoft.VisualBasic.Compatibility.VB6.Support 类的引用,因为 Visual Basic 2010 警告我“Microsoft.VisualBasic.Compatibility.* 类已过时,仅在 32 位进程中受支持。 http://go.microsoft.com/fwlink/?linkid=160862'
本文向我保证:“创建兼容性命名空间中的函数是为了解决 .NET Framework 1.0 版中的缺陷。在大多数情况下,可以使用后续框架版本中添加的功能来重写功能,从而提高性能。'
我的问题是,我需要在以后的框架版本中添加哪些内容来取消 Compatibility.* 类?我需要逐步淘汰 TwipsToPixelX、TwipsToPixelY 等。此外,FontChangeUnderline、FontChangeSize 和其他与字体相关的东西。
【问题讨论】:
-
.NET 不再使用缇。改写你的程序以依赖像素,你应该没问题。
-
我需要一种可靠的方法将旧的缇值从旧版应用程序转换为像素。对于大多数设备来说,这很简单:像素 * 15 = 缇。但是,并非在所有设备上都是如此。这个 VisualBasic.Compatibility 类有进行这种转换的方法;我需要在 C# 中重新执行这些方法并删除对 VisualBasic.Compatibility 的依赖。
-
乘数是 1440 除以 Graphics.DpiX/Y 属性值。