【发布时间】:2014-02-08 11:28:25
【问题描述】:
我尝试将代码从 VB6 迁移到 VB.NET。
我想在 VB.NET 中获取 vbGreen 的整数值。
在 VB6 中,“vbGreen”与 65280 相关。 现在当我这样做时
ColorTranslator.ToOle(Color.Green)
...它返回 32768。
有人知道我哪里出错了吗?
谢谢!
【问题讨论】:
我尝试将代码从 VB6 迁移到 VB.NET。
我想在 VB.NET 中获取 vbGreen 的整数值。
在 VB6 中,“vbGreen”与 65280 相关。 现在当我这样做时
ColorTranslator.ToOle(Color.Green)
...它返回 32768。
有人知道我哪里出错了吗?
谢谢!
【问题讨论】:
65280 == &H00FF00 或 256 表示绿色
32768 == &H008000 或 128 表示绿色
而 OLE 颜色是 BGR,与 System.Drawing.Color 相反,它是 RGB。在这里没有区别。很清楚你做了什么忘了说,你正在使用Color.Green。它与 vbGreen 的颜色不相同。您应该改用Color.Lime。请注意颜色的十六进制值如何在 IntelliSense 提示中显示。
【讨论】: