VB.NET ColorTranslator.ToOle出乎意料的结果

时间:2014-02-08 11:28:25

标签: vb.net colors ole

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

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

在VB6中,“vbGreen”涉及65280。 现在我做的时候

ColorTranslator.ToOle(Color.Green)

...它返回32768。

有人看到我哪里出错吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

65280 ==& H00FF00或256为绿色
32768 ==& H008000或128为绿色

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