private void Init(string value)
 {
     if (!string.IsNullOrEmpty(value))
     {
         this.Color = ReportColor.RdlStringToColor(value);
     }
 }
        public static string ColorToRdlString(Color c)
        {
            if (c.IsEmpty)
            {
                return("");
            }
            if (c == Color.Transparent)
            {
                return("#00ffffff");
            }

            /*
             * if (c.IsNamedColor && !c.IsSystemColor)
             * {
             *  return ReportColor.ToName(c);
             * }
             */
            if (c.IsNamedColor)
            {
                return(ReportColor.ToName(c));
            }
            if (c.A == 255)
            {
                return(StringUtil.FormatInvariant("#{0:x6}", c.ToArgb() & 0xFFFFFF));
            }
            return(StringUtil.FormatInvariant("#{0:x8}", c.ToArgb()));
        }
        public static Color RdlStringToColor(string value)
        {
            if (value[0] == '#')
            {
                return(ReportColor.RgbStringToColor(value));
            }
            Color result = ReportColor.FromName(value);

            /*
             * if (!result.IsKnownColor)
             *          {
             *                  throw new ArgumentException(SRErrors.InvalidColor(value));
             *          }
             */

            return(result);
        }
 public override string ToString()
 {
     return(ReportColor.ColorToRdlString(this.Color));
 }