1

我有一个 vb6 ocx 控件,它具有一个功能,除其他外,它需要很长时间来设置控件标签组件的颜色。这一切都可以正常工作,直到您在 vb.net 64 位环境中使用控件,其中 long 是整数并且颜色无论如何都是不同的类型。

我尝试将函数更改为 rgb 取 3 个整数,然后使用 rgb 函数来获取要使用的颜色,但表单不会在带有控件的 vb.net 环境中加载。

有谁知道我如何在 vb6 中更改控件的代码,以便它可以在 vb.net 中使用?

4

1 回答 1

1

您可以使用内置方法来获取在您的应用程序中使用的等效颜色值:

Dim myColor As Color = Color.Red

' Translate myColor to an OLE color. 
Dim winColor As Integer = ColorTranslator.ToWin32(myColor)

结果是Int32VB6Long中的

所以...

在您的 VB6 控件中,您可以像这样公开 Color 属性:

Public Property Get ColorValue as Long
    ColorValue = lblColor.BackColor
End Property

Public Property Let ColorValue(value as Long)
    lblColor.BackColor = value
End Property

然后在您的 VB.NET 应用程序中,您可以像这样设置它:

MyControl.ColorValue = ColorTranslator.ToWin32(Color.Red)
于 2013-08-12T18:46:06.317 回答