在vb.net中使用颜色作为变量

在vb.net中使用颜色作为变量,vb.net,colors,Vb.net,Colors,我想用下面的示例代码在GlobalColors.vb模块中创建自定义颜色 Public Mycolor1 As Object = System.Drawing.Color.FromArgb(30, 155, 0, 144) 我试图在我的一个面板中实现这一点 Me.Panel1.BackColor = Mycolor1 Me.Panel1.Location = New System.Drawing.Point(54, 47) Me.Panel1.Name = "Panel1" Me.Panel1

我想用下面的示例代码在GlobalColors.vb模块中创建自定义颜色

Public Mycolor1 As Object = System.Drawing.Color.FromArgb(30, 155, 0, 144)
我试图在我的一个面板中实现这一点

Me.Panel1.BackColor = Mycolor1
Me.Panel1.Location = New System.Drawing.Point(54, 47)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(200, 100)
Me.Panel1.TabIndex = 0
但我有一个错误如下

找不到类型“TestApp.GlobalColors”。请确保 引用了包含此类型的程序集。如果此类型是零件 对于您的开发项目,请确保该项目已完成 使用当前平台或任何应用程序的设置成功生成 中央处理器


任何人都知道如何定义自定义颜色并在面板和其他WinForm控件元素的背景中使用它们吗?

如前所述,它对我来说很好。您的设置已损坏,或者描述不准确:

Module GlobalColors

    Public Mycolor1 As Object = System.Drawing.Color.FromArgb(30, 155, 0, 144)

End Module

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Panel1.BackColor = Mycolor1
    End Sub

End Class
如果您选择了Option Strict On,您会在这里发现一个错误:Me.Panel1.BackColor=Mycolor1

错误:

选项Strict On不允许从“对象”到 “颜色”

更改:

Public Mycolor1 As Object = System.Drawing.Color.FromArgb(30, 155, 0, 144)
致:


我不确定这是否解决了您最初的问题,但值得一试。

这与使用颜色无关。问题是,该代码无法看到Mycolor1声明的类型。我们可以假设错误消息是在运行时生成的,还是在编译时生成的?您是否完全确认您的项目正在成功构建,正如错误消息所说的那样?模块和表单是否在同一个项目中?它们是同一个名称空间吗?我想你需要发布更多的代码。所有这些都在同一名称空间中吗?GlobalColor是一个类、子类、函数吗?它是公共的还是私人的?等等。需要更多的代码。
Public Mycolor1 As Color = System.Drawing.Color.FromArgb(30, 155, 0, 144)