Exemplo n.º 1
0
        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);
 }
Exemplo n.º 3
0
 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));
 }
Exemplo n.º 4
0
        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);
             }
         }
     }
 }