我们最近已将旧的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'

本文向我保证:'在Compatibility namespace 中创建函数是为了解决.NET Framework 1.0版中的缺点。在大多数情况下,可以使用在更高版本的框架中添加的功能来重写功能,从而提高性能。”

我的问题是,为消除Compatibility。*类而需要使用哪些更高版本的框架?我需要逐步淘汰TwipsToPixelX,TwipsToPixelY等。另外,还有FontChangeUnderline,FontChangeSize和其他与字体有关的东西。

最佳答案

字体相关的功能可以很容易地替换。例如:

Function FontChangeBold(f As Font, bold As Boolean) As Font
    Dim alreadySet = (f.Style And FontStyle.Bold) = FontStyle.Bold
    If bold = alreadySet Then Return f
    If bold Then Return New Font(f, f.Style Or FontStyle.Bold)
    Return New Font(f, f.Style And Not FontStyle.Bold)
End Function

这将检查是否已设置所需的样式。如果是,它将返回旧字体。否则,它将返回具有相同样式的新字体,但bold样式除外,该字体现在已根据需要进行设置。

关于c# - 替换过时的VisualBasic.Compatibility.VB6.Support,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4186069/

10-13 01:03