Exemple #1
0
        public UTab页 添加(string __标题, Control __内容)
        {
            this.u容器1.添加控件(__内容);

            var __标题按钮 = new Button
            {
                BackColor = Color.White,
                FlatStyle = FlatStyle.Flat,
                ForeColor = Color.FromArgb(64, 64, 64),
                Location  = new Point(13 + _所有标题.Count * (标题宽度 + _分割间距), 3),
                Size      = new Size(标题宽度, 23),
                Text      = __标题,
                UseVisualStyleBackColor = false
            };

            __标题按钮.FlatAppearance.BorderSize = 0;
            __标题按钮.Click += (object sender, EventArgs e) =>
            {
                this.u容器1.激活控件(__内容);
                this.out指示当前.Left = __标题按钮.Left;
            };
            this.out标题容器.Controls.Add(__标题按钮);

            Label __分割符 = null;

            if (_所有标题.Count != 0)
            {
                __分割符 = new Label
                {
                    BackColor = Color.Gainsboro,
                    Location  = new Point(__标题按钮.Left - _分割间距 / 2, 5),
                    Size      = new Size(1, 20)
                };
                this.out标题容器.Controls.Add(__分割符);
            }

            var __tab页 = new UTab页 {
                标题 = __标题, 标题按钮 = __标题按钮, 内容 = __内容, 分割符 = __分割符
            };

            _所有标题.Add(__tab页);
            激活(__tab页);

            UTab_SizeChanged(null, null);
            return(__tab页);
        }
Exemple #2
0
        private void  除(UTab页 __匹配)
        {
            this.u容器1.除控件(__匹配.内容);
            this.out标题容器.Controls.Remove(__匹配.标题按钮);
            if (__匹配.分割符 != null)
            {
                this.out标题容器.Controls.Remove(__匹配.分割符);
            }
            var __索引 = _所有标题.IndexOf(__匹配);

            if (__索引 != _所有标题.Count - 1)
            {
                for (int i = __索引 + 1; i < _所有标题.Count; i++)
                {
                    if (i == 1)
                    {
                        this.out标题容器.Controls.Remove(_所有标题[i].分割符);
                    }
                    else
                    {
                        _所有标题[i].分割符.Left -= 标题宽度 + _分割间距;
                    }
                    _所有标题[i].标题按钮.Left -= 标题宽度 + _分割间距;
                    if (this.u容器1.当前激活控件 == _所有标题[i].内容)
                    {
                        this.out指示当前.Left = _所有标题[i].标题按钮.Left;
                    }
                }
            }
            _所有标题.Remove(__匹配);

            if (this.u容器1.当前激活控件 == __匹配.内容)
            {
                if (_所有标题.Count > 0)
                {
                    激活(_所有标题[0]);
                }
            }
        }
Exemple #3
0
 private void 激活(UTab页 __匹配)
 {
     this.u容器1.激活控件(__匹配.内容);
     this.out指示当前.Left = __匹配.标题按钮.Left;
 }