Beispiel #1
0
        public PmsEdit(IElement element)
            : base()
        {
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            PmsEditWrapper edit = element as  PmsEditWrapper;

            Name      = edit.Name;
            AutoSize  = edit.AutoSize;
            BackColor = edit.BackColor;
            if (null != edit.BackgroundImage)
            {
                BackgroundImage = edit.BackgroundImage.Clone() as Image;
            }
            BackgroundImageLayout = edit.BackgroundImageLayout;
            if (null != edit.Border)
            {
                ((IElement)this).Border = edit.Border.Clone() as ElementBorder;
                ((IElement)this).Border.OwnerElement = this as IElement;
            }
            ((IElement)this).BorderName = edit.BorderName;
            if (null != edit.ExternDatas)
            {
                ((IElement)this).ExternDatas = new List <ExternData>();
                foreach (ExternData ed in edit.ExternDatas)
                {
                    object value = ed.Value;
                    if (null != value && value is ICloneable)
                    {
                        value = ((ICloneable)value).Clone();
                    }
                    ((IElement)this).ExternDatas.Add(new ExternData(ed.Key, value));
                }
            }
            if (null != edit.Font)
            {
                Font = edit.Font.Clone() as Font;
            }
            ((IElement)this).HasBorder       = edit.HasBorder;
            ((IElement)this).HasBottomBorder = edit.HasBottomBorder;
            ((IElement)this).HasLeftBorder   = edit.HasLeftBorder;
            ((IElement)this).HasRightBorder  = edit.HasRightBorder;
            ((IElement)this).HasTopBorder    = edit.HasTopBorder;
            Height                    = edit.Height;
            HorizontalScale           = edit.HorizontalScale;
            ((IElement)this).Location = edit.Location;
            ((IElement)this).MESType  = edit.MESType;
            ((IElement)this).MoveX    = edit.MoveX;
            ((IElement)this).MoveY    = edit.MoveY;
            MESType                   = edit.MESType;
            Text          = edit.Text;
            Var           = edit.Var;
            VerticalScale = edit.VerticalScale;
            Width         = edit.Width;
            RealText      = edit.RealText;
            BorderStyle   = edit.BorderStyle;
            Visible       = edit.Visible;
            if (null != ((IElement)edit).ExtendObject)
            {
                ((IElement)this).ExtendObject = ((IElement)edit).ExtendObject.Clone() as ExtendObject;
            }
        }
Beispiel #2
0
        public IControlTranslator ToElement(bool transferChild)
        {
            PmsEditWrapper edit = new PmsEditWrapper();

            edit.Name      = Name;
            edit.AutoSize  = AutoSize;
            edit.BackColor = BackColor;
            if (null != BackgroundImage)
            {
                edit.BackgroundImage = BackgroundImage.Clone() as Image;
            }
            edit.BackgroundImageLayout = BackgroundImageLayout;
            if (null != ((IElement)this).Border)
            {
                edit.Border = ((IElement)this).Border.Clone() as ElementBorder;
                edit.Border.OwnerElement = edit;
            }
            edit.BorderName = ((IElement)this).BorderName;
            if (null != ((IElement)this).ExternDatas)
            {
                edit.ExternDatas = new List <ExternData>();
                foreach (ExternData ed in ((IElement)this).ExternDatas)
                {
                    object value = ed.Value;
                    if (null != value && value is ICloneable)
                    {
                        value = ((ICloneable)value).Clone();
                    }
                    edit.ExternDatas.Add(new ExternData(ed.Key, value));
                }
            }
            if (_orginalFontSize > 0)
            {
                edit.Font = new Font(Font.FontFamily, _orginalFontSize);
            }
            else
            {
                edit.Font = new Font(this.Font.FontFamily, this.Font.Size);
            }
            edit.VerticalScale   = 1f;
            edit.HorizontalScale = 1f;
            edit.HasBorder       = ((IElement)this).HasBorder;
            edit.HasBottomBorder = ((IElement)this).HasBottomBorder;
            edit.HasLeftBorder   = ((IElement)this).HasLeftBorder;
            edit.HasRightBorder  = ((IElement)this).HasRightBorder;
            edit.HasTopBorder    = ((IElement)this).HasTopBorder;
            edit.Visible         = Visible;
            edit.MESType         = MESType;
            if (_orginalHeight > 0)
            {
                edit.Height = this._orginalHeight;
            }
            else
            {
                edit.Height = this.Height;
            }
            if (_orginalWidth > 0)
            {
                edit.Width = _orginalWidth;
            }
            else
            {
                edit.Width = this.Width;
            }
            //edit.VerticalScale = this.VerticalScale;
            //edit.HorizontalScale = this.HorizontalScale;
            if (_orginalLocation != Point.Empty)
            {
                edit.Location = this._orginalLocation;
            }
            else
            {
                edit.Location = this.Location;
            }
            edit.MESType       = MESType;
            edit.MoveX         = ((IElement)this).MoveX;
            edit.MoveY         = ((IElement)this).MoveY;
            edit.Text          = Text;
            edit.VerticalScale = VerticalScale;

            edit.RealText    = RealText;
            edit.BorderStyle = BorderStyle;
            edit.Var         = Var;

            if (null != ((IElement)this).ExtendObject)
            {
                ((IElement)edit).ExtendObject = ((IElement)this).ExtendObject.Clone() as ExtendObject;
            }
            return(edit);
        }
Beispiel #3
0
        /// <summary>
        /// 克隆
        /// </summary>
        /// <returns>对象</returns>
        public object Clone()
        {
            PmsEditWrapper edit = new PmsEditWrapper();

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