关于字符串与颜色的转换问题:用户输入“#FF0000”,则lable1的北京颜色即变成红色请问大家如何转换?并且,若知道lable1的背景色,如何求得#RRGGBB类型的字符串?
谢谢大家了。

解决方案 »

  1.   

    System.Drawing.Color.FromName("#FF0000");
    ok,搞定,积分
      

  2.   

    可以通过如下的方法得到颜色值:
    string str = "FF0000";
    Color color = Color.FromArgb(int.Parse(str, System.Globalization.NumberStyles.HexNumber));但是,因为Color还有一个分量值,所以和C#里标准的Color还差一个参数,这个参数可以是FF,也就说这个值应该类似于这样:"FFFF0000" AARGBstring str = "FFFF0000";
    Color color = Color.FromArgb(int.Parse(str, System.Globalization.NumberStyles.HexNumber));
      

  3.   

    lbColorBox.BackColor = System.Drawing.Color.FromName("#FF0000");取不到啊?
      

  4.   

    用hbxtlhx的方法取到了,谢谢。
      

  5.   

    System.Drawing.ColorTranslator.FromHtml(("#FF0000");
    这个是HTML颜色,不是NAME
      

  6.   

    不对啊,FF0000加了FF取到的不是红色啊~~~~
      

  7.   

    System.Drawing.ColorTranslator.FromHtml("#FF0000");
    好像是可以的,但是我用lbColorBox.BackColor = System.Drawing.ColorTranslator.FromHtml("#FF0000")好似不可以啊
      

  8.   

    不可以是因为没有设置颜色分量,一个Color是由原来的R,G,B再加上一个A分量组成的。所以应该是ARGB,而不只是RGB,如果没有A,可以默认为FF。
      

  9.   

    大家只顾回答如何将字符串转换为color,请问若知道lable1的背景色,如何求得#RRGGBB类型的字符串?
      

  10.   

    若知道lable1的背景色,如何求得#RRGGBB类型的字符串
    --->
    ColorTranslator.ToHtml