【发布时间】:2018-07-13 06:20:30
【问题描述】:
我一直在研究一个简单的 HEX 到 RGB(反之亦然)的转换器。本质上,用户可以输入十六进制值作为字符串,上面的文本框将显示转换。除此之外,我希望表单的背景更改为相应的颜色输入 - 尽管这是问题所在。背景颜色不会改变。
为此,我有这个
Color rgbValue = Color.FromArgb(red, green, blue);
String conversion = rgbValue.ToString();
Form converterForm = new Form();
converterForm.BackColor = rgbValue;
RGB_Box.Text = String.Format("rgb({0},{1},{2})", red, green, blue);
我已经使用 #E9967A 的固定十六进制输入逐步完成了代码;变量的值如下:蓝色(122),绿色(150),红色(233)。 converterForm.BackColor 的值为“Name=ffe9967a, ARGB=(255,233,150,122)”。
有没有办法修改 BackColor 的值,以便正确解释颜色?
【问题讨论】:
-
您从不显示
converterForm和converterForm.Show();那么如何判断颜色是否没有变化? -
@Equalsk 这样做会创建一个新表单(即显示两个),但是新表单具有正确的背景颜色。
-
如果你想改变现有的形式然后改变
this.BackColor -
@Equalsk 很有趣 - 这很有效。你能写下你的评论作为答案,我会标记它吗?进一步的解释将不胜感激,我不确定为什么这会比以前更有效。谢谢:)
-
@LukeIsitt:您正在创建一个新表单,更改其背景,然后忽略它。你为什么期望它做任何事情?