//Implement ISerializable
        //No layer is required
        public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
        {
            info.AddValue("Key", Key);
            info.AddValue("BorderColor", BorderColor.ToArgb().ToString());
            info.AddValue("BorderStyle", Convert.ToInt32(BorderStyle).ToString());
            info.AddValue("BorderWidth", BorderWidth);
            info.AddValue("DrawShadow", DrawShadow);
            info.AddValue("Opacity", Opacity);
            info.AddValue("SmoothingMode", Convert.ToInt32(SmoothingMode).ToString());
            info.AddValue("Tooltip", Tooltip);
            info.AddValue("Visible", Visible);
            info.AddValue("ZOrder", ZOrder);
            info.AddValue("Path", Serialize.AddPath(GetPathInternal()));

            //Check if tag can be added
            Serialize.SerializeTag(info, Tag);
        }
        //Implement ISerializable
        public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
        {
            info.AddValue("Key", Key);
            info.AddValue("Redraw", Redraw);
            info.AddValue("BasePath", Serialize.AddPath(mBasePath));
            info.AddValue("BaseSize", Serialize.AddSizeF(BaseSize));
            info.AddValue("BaseInternalRectangle", Serialize.AddRectangleF(BaseInternalRectangle));

            info.AddValue("BorderColor", BorderColor.ToArgb().ToString());
            info.AddValue("BorderStyle", Convert.ToInt32(BorderStyle).ToString());
            info.AddValue("SmoothingMode", Convert.ToInt32(SmoothingMode).ToString());
            info.AddValue("BackColor", BackColor.ToArgb().ToString());
            info.AddValue("GradientColor", GradientColor.ToArgb().ToString());
            info.AddValue("GradientMode", Convert.ToInt32(GradientMode).ToString());
            info.AddValue("DrawGradient", DrawGradient);
            info.AddValue("Options", Convert.ToInt32(Options).ToString());
        }