public EllipseBorderSettingPage(ElementBorder border) : base() { InitializeComponent(); RegiterLineType(); if (null == _border) { _border = new EllipseBorder(null); if (null != border) { _originalBorder = border; _border.OwnerElement = border.OwnerElement; _border.BorderWidth = border.BorderWidth; _border.BorderColor = border.BorderColor; } } this.StyleName = this.ellipseDisplayBorder.Border.Name; if (null != border) { BorderWidthTb.Value = Convert.ToDecimal(border.BorderWidth); BorderColorLabel.BackColor = border.BorderColor; this.ellipseDisplayBorder.Border.BorderColor = border.BorderColor; if (this.LineTypeCmb.Items.Count > 0) { try { this.LineTypeCmb.SelectedValue = border.DashStyle; } catch { } } } this.ellipseDisplayBorder.Invalidate(); }
public ElementBorder CreateBorder(string name, IElement element) { if (_borderMap.ContainsKey(name)) { Type type = _borderMap[name]; ConstructorInfo ci = type.GetConstructor(new Type[] { typeof(IElement) }); ElementBorder o = ci.Invoke(new object[] { element }) as ElementBorder; //VS设计器中,下列代码不会执行,保留用于可能自定义设计 if (null != element && null != element.ExternDatas) { for (int i = 0; i < element.ExternDatas.Count; i++) { ExternData data = element.ExternDatas[i];; if (null != data) { if (!string.IsNullOrEmpty(data.Key)) { PropertyInfo pi = type.GetProperty(data.Key); if (null != pi) { pi.SetValue(o, data.Value, null); } } } } return(o); } } return(null); }
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { ElementBorder border = value as ElementBorder; if (null != border) { return(border.Name); } } return(base.ConvertTo(context, culture, value, destinationType)); }
private void OkBtnClick(object sender, EventArgs e) { int index = this.BorderTypeCmb.SelectedIndex; BorderSettingPage ctrl = this.BodyPanel.Controls[index] as BorderSettingPage; if (null != ctrl) { _border = ctrl.Border; if (null != _border.OwnerElement) { _border.OwnerElement.ExternDatas = ctrl.ExternDatas; } } this.DialogResult = DialogResult.OK; }
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)); }
public MyTestPanel() { Border = new RectangleBorder(this); }
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(); }
public BorderEditorDialog(ElementBorder border) { InitializeComponent(); _border = border; }