private void BorderAction() { BorderEditorDialog editor = new BorderEditorDialog(Border); if (DialogResult.OK == editor.ShowDialog()) { if (null != Border && !Border.Equals(editor.Border)) { Border = editor.Border; editor.Border.OwnerElement = this as IElement; this.BorderName = editor.Border.Name; ExternData data = new ExternData("BorderName", editor.Border.Name); int index = -1; if (null != this.ExternDatas) { for (int i = 0; i < this.ExternDatas.Count; i++) { if (data.Equals(this.ExternDatas[i])) { this.ExternDatas[i] = data; index = i; break; } } if (index == -1) { this.ExternDatas.Add(data); } } NotifyDesignSurfaceChange(); } } }
private int ChecExistkExternDatas(IList <ExternData> list, ExternData ed) { if (null != list) { for (int i = 0; i < list.Count; i++) { if (ed.Equals(list[i])) { return(i); } } } return(-1); }
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { if (null != context && null != context.Instance && null != context.Container) { if (null != context.Instance) { IElement element = context.Instance as IElement; if (null != element) { ElementBorder border = value as ElementBorder; BorderEditorDialog editor = new BorderEditorDialog(border); if (DialogResult.OK == editor.ShowDialog()) { if (null != border && border.Equals(editor.Border)) { return(editor.Border); } editor.Border.OwnerElement = context.Instance as IElement; element.BorderName = editor.Border.Name; ExternData data = new ExternData("BorderName", editor.Border.Name); int index = -1; if (null != element.ExternDatas) { for (int i = 0; i < element.ExternDatas.Count; i++) { if (data.Equals(element.ExternDatas[i])) { element.ExternDatas[i] = data; index = i; break; } } if (index == -1) { element.ExternDatas.Add(data); } } return(editor.Border); } } } } return(base.EditValue(context, provider, value)); }
protected void SetBorder() { if (_isInit) { if (null != ExternDatas && ExternDatas.Count > 0 && null != Border) { _canInvalidate = false; for (int i = 0; i < ExternDatas.Count; i++) { ExternData data = ExternDatas[i]; if (null != data) { if (!string.IsNullOrEmpty(data.Key)) { PropertyInfo pi = Border.GetType().GetProperty(data.Key); if (null != pi) { pi.SetValue(Border, data.Value, null); } } } } if (null == Border || this.BorderName != this.Border.Name) { Color borderColor = this.Border.BorderColor; float borderWidth = this.Border.BorderWidth; DashStyle ds = this.Border.DashStyle; this.Border = BorderFactory.Instacne.CreateBorder(this.BorderName, this); this.Border.BorderColor = borderColor; this.Border.BorderWidth = borderWidth; this.Border.DashStyle = ds; } _canInvalidate = true; } _isInit = false; } }
public RectangleBorderSettingPage(ElementBorder border) { InitializeComponent(); RegiterLineType(); RectangleBorder temp = border as RectangleBorder; if (null == _border) { _border = new RectangleBorder(null); _border.OwnerElement = border.OwnerElement; if (null != temp) { _originalBorder = temp; //边框属性的赋值 //RectangleBorder dispalyBorder = this.displayBorder.Border as RectangleBorder; _border.HasLeftBorder = temp.HasLeftBorder; displayBorder.HasLeft = _border.HasLeftBorder; //this.LeftBorderCb.Checked = _border.HasLeftBorder; _border.HasBottomBorder = temp.HasBottomBorder; //this.BottomBorderCb.Checked = _border.HasBottomBorder; displayBorder.HasBottom = _border.HasBottomBorder; _border.HasRightBorder = temp.HasRightBorder; //this.RightBorderCb.Checked = _border.HasRightBorder; displayBorder.HasRight = _border.HasRightBorder; _border.HasTopBorder = temp.HasTopBorder; //this.TopBorderCb.Checked = _border.HasTopBorder; displayBorder.HasTop = _border.HasTopBorder; _border.MoveX = temp.MoveX; _border.MoveY = temp.MoveY; if (null != _border.OwnerElement) { ExternData ed = new ExternData("HasLeftBorder", _border.HasLeftBorder); int index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } _border.OwnerElement.ExternDatas.Add(ed); ed = new ExternData("HasBottomBorder", _border.HasBottomBorder); index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } ed = new ExternData("HasRightBorder", _border.HasRightBorder); index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } ed = new ExternData("HasTopBorder", _border.HasTopBorder); index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } } } } this.StyleName = _border.Name; if (null != border) { this.BorderWidthTb.Value = Convert.ToDecimal(border.BorderWidth); this.displayBorder.BorderColor = border.BorderColor; this.BorderColorLabel.BackColor = border.BorderColor; _border.BorderColor = border.BorderColor; _border.BorderWidth = border.BorderWidth; if (this.LineTypeCmb.Items.Count > 0) { try { this.LineTypeCmb.SelectedValue = border.DashStyle; } catch { } } } this.displayBorder.Invalidate(); }
private void SetBorder() { if (null != _border) { //if (sender.Equals(this.LeftBorderCb)) { _border.HasLeftBorder = displayBorder.HasLeft; // ((RectangleBorder)(this.displayBorder.Border)).HasLeftBorder = this.LeftBorderCb.Checked; ExternData ed = new ExternData("HasLeftBorder", _border.HasLeftBorder); int index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } } //else if (sender.Equals(this.RightBorderCb)) { _border.HasRightBorder = displayBorder.HasRight; //((RectangleBorder)(this.displayBorder.Border)).HasRightBorder = this.RightBorderCb.Checked; ExternData ed = new ExternData("HasRightBorder", _border.HasRightBorder); int index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } } //else if (sender.Equals(this.TopBorderCb)) { _border.HasTopBorder = displayBorder.HasTop; //((RectangleBorder)(this.displayBorder.Border)).HasTopBorder = this.TopBorderCb.Checked; ExternData ed = new ExternData("HasTopBorder", _border.HasTopBorder); int index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } } //else { _border.HasBottomBorder = this.displayBorder.HasBottom; //((RectangleBorder)(this.displayBorder.Border)).HasBottomBorder = this.BottomBorderCb.Checked; ExternData ed = new ExternData("HasBottomBorder", _border.HasBottomBorder); int index = ChecExistkExternDatas(ExternDatas, ed); if (index > -1) { ExternDatas[index] = ed; } else { ExternDatas.Add(ed); } } } }