如何在 vb.net 中插入只读 属性 的值?
How in vb.net can I insert a value on a read only property?
我想使用 属性 r,g,b 创建颜色,但不幸的是 Visual Studio 说 r 是只读值。请帮忙。
Dim newcolor As Color
newcolor.R = vermelho
newcolor.G = verde
newcolor.B = azul
嗯,R、G 和 B 肯定是只读的,因为它们只有 GET 方法。我通常使用这样的颜色:
Dim Color As System.Drawing.Color
Color = Color.LightSteelBlue
Color = Color.SteelBlue
您还可以这样做:
Dim ColorCode As Integer
ColorCode = Color.SteelBlue.ToArgb
祝你好运!
如果这是 System.Drawing.Color
结构,则不能。
如果您查看 Color.R
的 reference source,您会发现没有可供您设置的支持字段。当然,除非您操纵 Value
,但您也可以在每次需要更新颜色时声明一个新颜色。
public byte R
{
get
{
return(byte)((Value >> ARGBRedShift) & 0xFF);
}
}
您必须使用共享方法 FromArgb。
Dim red As Color = Color.FromArgb(255, 0, 0)
或者你的情况
Dim newcolor As Color = Color.FromArgb(vermelho, verde, azul)
我想使用 属性 r,g,b 创建颜色,但不幸的是 Visual Studio 说 r 是只读值。请帮忙。
Dim newcolor As Color
newcolor.R = vermelho
newcolor.G = verde
newcolor.B = azul
嗯,R、G 和 B 肯定是只读的,因为它们只有 GET 方法。我通常使用这样的颜色:
Dim Color As System.Drawing.Color
Color = Color.LightSteelBlue
Color = Color.SteelBlue
您还可以这样做:
Dim ColorCode As Integer
ColorCode = Color.SteelBlue.ToArgb
祝你好运!
如果这是 System.Drawing.Color
结构,则不能。
如果您查看 Color.R
的 reference source,您会发现没有可供您设置的支持字段。当然,除非您操纵 Value
,但您也可以在每次需要更新颜色时声明一个新颜色。
public byte R
{
get
{
return(byte)((Value >> ARGBRedShift) & 0xFF);
}
}
您必须使用共享方法 FromArgb。
Dim red As Color = Color.FromArgb(255, 0, 0)
或者你的情况
Dim newcolor As Color = Color.FromArgb(vermelho, verde, azul)