首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换过时的VisualBasic.Compatibility.VB6.Support

替换过时的VisualBasic.Compatibility.VB6.Support
EN

Stack Overflow用户
提问于 2010-11-15 23:48:09
回答 5查看 8.6K关注 0票数 9

我们最近将一个旧的VB6 .NET应用升级到了C# windows 4.0。我希望替换对Microsoft.VisualBasic.Compatibility.VB6.Support类的引用,因为Visual basic2010警告我,“Microsoft.VisualBasic.Compatibility.*类已过时,仅在32位进程中受支持。http://go.microsoft.com/fwlink/?linkid=160862

本文向我保证:“兼容性命名空间中的函数是为了解决.NET框架1.0版中的缺陷而创建的。在大多数情况下,后续框架版本中添加的功能可用于重写函数,从而提高性能。”

我的问题是,在以后的框架版本中,我需要使用哪些新增功能来消除兼容性.*类?我需要逐步淘汰TwipsToPixelX、TwipsToPixelY等等。此外,还有FontChangeUnderline、FontChangeSize和其他与字体相关的内容。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-15 23:55:49

与字体相关的函数可以很容易地替换。例如:

代码语言:javascript
复制
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样式除外,该样式现在是根据要求设置的。

票数 3
EN

Stack Overflow用户

发布于 2010-11-19 06:40:06

感谢大家的帮助。接下来,下面是我在处理twips到像素转换时所做的工作。

代码语言:javascript
复制
    private const float TWIPS_PER_INCH = 1440f;
    private static Form _form = new Form();
    private static Graphics _graphics = _form.CreateGraphics();

    public static float TwipsPerPixelX()
    {
        return TWIPS_PER_INCH/_graphics.DpiX;
    }

    public static double TwipsToPixelsY(double twips)
    {
        float dpiy = _graphics.DpiY;
        return twips * dpiy / TWIPS_PER_INCH;
    }

    public static double TwipsToPixelsX(double twips)
    {
        float dpix = _graphics.DpiX;
        return twips * dpix / TWIPS_PER_INCH;
    }

    public static double PixelsToTwipsY(double pixels)
    {
        float dpiy = _graphics.DpiY;
        return pixels * TWIPS_PER_INCH / dpiy;
    }

    public static double PixelsToTwipsX(double pixels)
    {
        float dpix = _graphics.DpiX;
        return pixels * TWIPS_PER_INCH / dpix;
    }

希望有人对此感兴趣和/或有用

票数 8
EN

Stack Overflow用户

发布于 2010-11-15 23:50:43

您可以通过编写new Font(oldFont, FontStyle.Underline)new Font(oldFont, 12)来创建具有不同样式的字体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4186069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档