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; } }
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); }
/// <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); }