代码之家  ›  专栏  ›  技术社区  ›  Luke Isitt

将窗体的背景色设置为ARGB值

  •  1
  • Luke Isitt  · 技术社区  · 7 年前

    我一直在研究一个简单的十六进制到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的值。背景色为“Name=ffe9967a,ARGB=(255233150122)”。

    是否有办法修改背景色的值,以便正确解释颜色?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Equalsk    7 年前

    您应该进一步阅读C#和面向对象编程,以全面了解正在发生的事情。

    简而言之,当您使用 new 关键字您创建了一个全新的表单,与您已有的表单分离。您更改了第二个表单的颜色,但从未显示它,所以它看起来似乎什么都没有发生。

    这个 this 关键字指定窗体的现有实例。