コード例 #1
0
        /// <summary>
        /// 克隆
        /// </summary>
        /// <returns>对象</returns>
        public object Clone()
        {
            QRCodeWrapper bcw = new QRCodeWrapper();

            bcw.Name      = Name;
            bcw.AutoSize  = AutoSize;
            bcw.BackColor = BackColor;
            if (null != BackgroundImage)
            {
                bcw.BackgroundImage = BackgroundImage.Clone() as Image;
            }
            bcw.BackgroundImageLayout = BackgroundImageLayout;
            if (null != Border)
            {
                bcw.Border = Border.Clone() as ElementBorder;
                bcw.Border.OwnerElement = bcw;
            }
            bcw.BorderName = BorderName;
            if (null != ExternDatas)
            {
                bcw.ExternDatas = new List <ExternData>();
                foreach (ExternData ed in ExternDatas)
                {
                    object value = ed.Value;
                    if (null != value && value is ICloneable)
                    {
                        value = ((ICloneable)value).Clone();
                    }
                    bcw.ExternDatas.Add(new ExternData(ed.Key, value));
                }
            }
            if (null != Font)
            {
                bcw.Font = Font.Clone() as Font;
            }
            bcw.HasBorder       = HasBorder;
            bcw.HasBottomBorder = HasBottomBorder;
            bcw.HasLeftBorder   = HasLeftBorder;
            bcw.HasRightBorder  = HasRightBorder;
            bcw.HasTopBorder    = HasTopBorder;
            bcw.Height          = Height;
            bcw.HorizontalScale = HorizontalScale;
            bcw.Location        = Location;
            bcw.MESType         = MESType;
            bcw.MoveX           = MoveX;
            bcw.MoveY           = MoveY;
            bcw.Parent          = Parent;
            bcw.Text            = Text;
            bcw.VerticalScale   = VerticalScale;
            bcw.Width           = Width;
            if (null != SourceField)
            {
                bcw.SourceField = SourceField.Clone();
            }
            bcw.EnableMapping   = EnableMapping;
            bcw.MappingTable    = MappingTable;
            bcw.Expression      = Expression;
            bcw.RealText        = RealText;
            bcw.IncludeLabel    = IncludeLabel;
            bcw.CorrectionLevel = CorrectionLevel;
            bcw.EncodedMode     = EncodedMode;
            bcw.Visible         = Visible;
            bcw.MESType         = MESType;
            if (null != ((IElement)this).ExtendObject)
            {
                ((IElement)bcw).ExtendObject = ((IElement)this).ExtendObject.Clone() as ExtendObject;
            }
            return(bcw);
        }
コード例 #2
0
        public QRCode(IElement element)
            : base()
        {
            QRCodeWrapper bcw = element as QRCodeWrapper;

            Name      = bcw.Name;
            AutoSize  = bcw.AutoSize;
            BackColor = bcw.BackColor;
            if (null != bcw.BackgroundImage)
            {
                BackgroundImage = bcw.BackgroundImage.Clone() as Image;
            }
            BackgroundImageLayout = bcw.BackgroundImageLayout;
            if (null != bcw.Border)
            {
                Border = bcw.Border.Clone() as ElementBorder;
                Border.OwnerElement = this;
            }
            BorderName = bcw.BorderName;
            if (null != bcw.ExternDatas)
            {
                ExternDatas = new List <ExternData>();
                foreach (ExternData ed in bcw.ExternDatas)
                {
                    object value = ed.Value;
                    if (null != value && value is ICloneable)
                    {
                        value = ((ICloneable)value).Clone();
                    }
                    ExternDatas.Add(new ExternData(ed.Key, value));
                }
            }
            if (null != bcw.Font)
            {
                Font = bcw.Font.Clone() as Font;
            }
            HasBorder       = bcw.HasBorder;
            HasBottomBorder = bcw.HasBottomBorder;
            HasLeftBorder   = bcw.HasLeftBorder;
            HasRightBorder  = bcw.HasRightBorder;
            HasTopBorder    = bcw.HasTopBorder;
            Height          = bcw.Height;
            HorizontalScale = bcw.HorizontalScale;
            Location        = bcw.Location;
            MESType         = bcw.MESType;
            MoveX           = bcw.MoveX;
            MoveY           = bcw.MoveY;
            //bcw.Parent = Parent;
            Text          = bcw.Text;
            VerticalScale = bcw.VerticalScale;
            Width         = bcw.Width;
            if (null != bcw.SourceField)
            {
                SourceField = bcw.SourceField.Clone();
            }
            EnableMapping   = bcw.EnableMapping;
            MappingTable    = bcw.MappingTable;
            Expression      = bcw.Expression;
            RealText        = bcw.RealText;
            IncludeLabel    = bcw.IncludeLabel;
            CorrectionLevel = bcw.CorrectionLevel;
            Visible         = bcw.Visible;
            MESType         = bcw.MESType;
            if (null != ((IElement)bcw).ExtendObject)
            {
                ((IElement)this).ExtendObject = ((IElement)bcw).ExtendObject.Clone() as ExtendObject;
            }
        }