【问题标题】:VB.NET ColorTranslator.ToOle unexpected resultVB.NET ColorTranslator.ToOle 意外结果
【发布时间】:2014-02-08 11:28:25
【问题描述】:

我尝试将代码从 VB6 迁移到 VB.NET。

我想在 VB.NET 中获取 vbGreen 的整数值。

在 VB6 中,“vbGreen”与 65280 相关。 现在当我这样做时

ColorTranslator.ToOle(Color.Green)

...它返回 32768。

有人知道我哪里出错了吗?

谢谢!

【问题讨论】:

    标签: vb.net colors ole


    【解决方案1】:

    65280 == &H00FF00 或 256 表示绿色
    32768 == &H008000 或 128 表示绿色

    而 OLE 颜色是 BGR,与 System.Drawing.Color 相反,它是 RGB。在这里没有区别。很清楚你做了什么忘了说,你正在使用Color.Green。它与 vbGreen 的颜色相同。您应该改用Color.Lime。请注意颜色的十六进制值如何在 IntelliSense 提示中显示。

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 2018-09-04
      • 2017-06-02
      • 2021-11-11
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      相关资源
      最近更新 更多