public override object Clone() { RibbonBarItem baseItem = new RibbonBarItem(); baseItem.Checked = this.Checked; baseItem.Enabled = this.Enabled; baseItem.Font = this.Font; baseItem.ForeColor = this.ForeColor; baseItem.Name = this.Name; baseItem.Site = this.Site; baseItem.Size = this.Size; baseItem.Tag = this.Tag; baseItem.Text = this.Text; baseItem.Image = this.Image; baseItem.LeftBottomRadius = this.LeftBottomRadius; baseItem.LeftTopRadius = this.LeftTopRadius; baseItem.Padding = this.Padding; baseItem.RightBottomRadius = this.RightBottomRadius; baseItem.RightTopRadius = this.RightTopRadius; baseItem.ShowNomalState = this.ShowNomalState; baseItem.Visible = this.Visible; // baseItem.ColumnDistance = this.ColumnDistance; baseItem.GlyphEnabled = this.GlyphEnabled; baseItem.GlyphVisible = this.GlyphVisible; baseItem.IsStretchItems = this.IsStretchItems; baseItem.IsRestrictItems = this.IsRestrictItems; baseItem.PopupSpace = this.PopupSpace; foreach (BaseItem one in this.BaseItems) { baseItem.BaseItems.Add(one.Clone() as BaseItem); } if (this.GetEventState("VisibleChanged") == EventStateStyle.eUsed) { baseItem.VisibleChanged += new EventHandler(baseItem_VisibleChanged); } if (this.GetEventState("SizeChanged") == EventStateStyle.eUsed) { baseItem.SizeChanged += new EventHandler(baseItem_SizeChanged); } if (this.GetEventState("Paint") == EventStateStyle.eUsed) { baseItem.Paint += new PaintEventHandler(baseItem_Paint); } if (this.GetEventState("MouseUp") == EventStateStyle.eUsed) { baseItem.MouseUp += new MouseEventHandler(baseItem_MouseUp); } if (this.GetEventState("MouseMove") == EventStateStyle.eUsed) { baseItem.MouseMove += new MouseEventHandler(baseItem_MouseMove); } if (this.GetEventState("MouseLeave") == EventStateStyle.eUsed) { baseItem.MouseLeave += new EventHandler(baseItem_MouseLeave); } if (this.GetEventState("MouseEnter") == EventStateStyle.eUsed) { baseItem.MouseEnter += new EventHandler(baseItem_MouseEnter); } if (this.GetEventState("MouseDown") == EventStateStyle.eUsed) { baseItem.MouseDown += new MouseEventHandler(baseItem_MouseDown); } if (this.GetEventState("MouseDoubleClick") == EventStateStyle.eUsed) { baseItem.MouseDoubleClick += new MouseEventHandler(baseItem_MouseDoubleClick); } if (this.GetEventState("MouseClick") == EventStateStyle.eUsed) { baseItem.MouseClick += new MouseEventHandler(baseItem_MouseClick); } if (this.GetEventState("LocationChanged") == EventStateStyle.eUsed) { baseItem.LocationChanged += new EventHandler(baseItem_LocationChanged); } if (this.GetEventState("EnabledChanged") == EventStateStyle.eUsed) { baseItem.EnabledChanged += new EventHandler(baseItem_EnabledChanged); } if (this.GetEventState("CheckedChanged") == EventStateStyle.eUsed) { baseItem.CheckedChanged += new EventHandler(baseItem_CheckedChanged); } if (this.GetEventState("PopupOpened") == EventStateStyle.eUsed) { baseItem.PopupOpened += new EventHandler(baseItem_PopupOpened); } if (this.GetEventState("PopupClosed") == EventStateStyle.eUsed) { baseItem.PopupClosed += new EventHandler(baseItem_PopupClosed); } if (this.GetEventState("GlyphMouseDown") == EventStateStyle.eUsed) { baseItem.GlyphMouseDown += new MouseEventHandler(baseItem_GlyphMouseDown); } if (this.GetEventState("GlyphMouseMove") == EventStateStyle.eUsed) { baseItem.GlyphMouseMove += new MouseEventHandler(baseItem_GlyphMouseMove); } if (this.GetEventState("GlyphMouseUp") == EventStateStyle.eUsed) { baseItem.GlyphMouseUp += new MouseEventHandler(baseItem_GlyphMouseUp); } if (this.GetEventState("GlyphMouseClick") == EventStateStyle.eUsed) { baseItem.GlyphMouseClick += new MouseEventHandler(baseItem_GlyphMouseClick); } if (this.GetEventState("GlyphMouseDoubleClick") == EventStateStyle.eUsed) { baseItem.GlyphMouseDoubleClick += new MouseEventHandler(baseItem_GlyphMouseDoubleClick); } return(baseItem); }
private void SetRibbonBarMinState() { int iTemp = 0; // int iLength = 0; int iMinWith = 0;//待调整对象的 最小化 宽度 int iWidth = 0; int iItemsWidth = 0; RibbonBarItem ribbonBarItem = null; RibbonBarItem ribbonBarItemMin = null; RibbonBarItem ribbonBarItemNomal = null; foreach (BaseItem one in this.BaseItems) { iLength += one.Width; // ribbonBarItem = one as RibbonBarItem; if (ribbonBarItem == null) { continue; } iTemp = ribbonBarItem.Width; if (iWidth == 0) { iWidth = iTemp; } if (iWidth <= iTemp) { iWidth = iTemp; ribbonBarItemNomal = ribbonBarItem; } if (ribbonBarItem.IsMinState) { iTemp = ribbonBarItem.GetItemsSize().Width; if (iItemsWidth == 0) { iItemsWidth = iTemp; } if (iItemsWidth >= iTemp) { iItemsWidth = iTemp; iMinWith = ribbonBarItem.Width; ribbonBarItemMin = ribbonBarItem; } } else { iTemp = ribbonBarItem.Width; if (iWidth == 0) { iWidth = iTemp; } if (iWidth <= iTemp) { iWidth = iTemp; ribbonBarItemNomal = ribbonBarItem; } } } if (iLength > this.Width) { if (ribbonBarItemNomal != null) { ISetRibbonBarHelper pSetRibbonBarHelper = ribbonBarItemNomal as ISetRibbonBarHelper; if (pSetRibbonBarHelper != null) { pSetRibbonBarHelper.SetIsMinState(true); } } //GISShare.Controls.WinForm.WFNew.Forms.TBMessageBox.Show(iLength + " " + this.Width); } else if ((this.Width - iLength) > (iItemsWidth - iMinWith + this.PreButtonRectangle.Width)) { if (ribbonBarItemMin != null) { ISetRibbonBarHelper pSetRibbonBarHelper = ribbonBarItemMin as ISetRibbonBarHelper; if (pSetRibbonBarHelper != null) { pSetRibbonBarHelper.SetIsMinState(false); } } } }