コード例 #1
0
 protected virtual object[] GetItems()
 {
     HideAreaTabButton[] destinationArray = new HideAreaTabButton[this.Count];
     if (this.Count > 0)
     {
         this.owner.Controls.CopyTo(destinationArray, 0);
     }
     return(destinationArray);
 }
コード例 #2
0
            public void Remove(object value)
            {
                HideAreaTabButton temp = value as HideAreaTabButton;

                if (temp == null)
                {
                    return;
                }
                this.owner.Controls.Remove(temp);
            }
コード例 #3
0
        protected override void OnControlAdded(ControlEventArgs e)
        {
            base.OnControlAdded(e);
            //
            HideAreaTabButton hideAreaTabButton = e.Control as HideAreaTabButton;

            if (hideAreaTabButton == null)
            {
                this.Controls.Remove(e.Control); return;
            }
        }
コード例 #4
0
            public int Add(object value)
            {
                HideAreaTabButton temp = value as HideAreaTabButton;

                if (temp == null)
                {
                    return(-1);
                }
                this.owner.Controls.Add(temp);
                return(this.Count - 1);
            }
コード例 #5
0
            public void Insert(int index, object value)
            {
                HideAreaTabButton temp = value as HideAreaTabButton;

                if (temp == null)
                {
                    return;
                }
                this.owner.Controls.Add(temp);
                this.owner.Controls.SetChildIndex(temp, index);
            }
コード例 #6
0
        private void HideAreaTabButton_MouseClick(object sender, MouseEventArgs e)
        {
            HideAreaTabButton hideAreaTabButton = sender as HideAreaTabButton;

            if (hideAreaTabButton == null)
            {
                return;
            }
            if (this.m_DockPanel.BasePanelSelectIndex != hideAreaTabButton.iID)
            {
                this.m_DockPanel.BasePanelSelectIndex = hideAreaTabButton.iID;
            }
            //
            this.DockPanel.SetActiveState();
        }
コード例 #7
0
        private int GetLayoutSize()//计算布局尺寸
        {
            int iLayoutSize = 0;

            foreach (object one in this.m_HideAreaTabButtons)
            {
                HideAreaTabButton temp = one as HideAreaTabButton;
                if (temp == null)
                {
                    continue;
                }
                iLayoutSize += temp.LayoutSize();
            }
            return(iLayoutSize + 15);
        }
コード例 #8
0
        private void SetDockPanelHideAreaControl()//设置隐藏按钮组并将其加载到对应的隐藏区内(在构造函数里完成)
        {
            DockStyle     eDockStyle;
            DockAreaStyle eDockAreaStyle = this.m_DockPanel.GetDockAreaStyle(out eDockStyle);

            switch (eDockStyle)//添加后会自动处理布局信息
            {
            case DockStyle.Top:
                this.m_AlignmentStyle = TabAlignment.Top;
                this.DockPanelManager.DockPanelHideAreaTop.AddHideAreaTabButtonGroup(this);
                break;

            case DockStyle.Left:
                this.m_AlignmentStyle = TabAlignment.Left;
                this.DockPanelManager.DockPanelHideAreaLeft.AddHideAreaTabButtonGroup(this);
                break;

            case DockStyle.Right:
                this.m_AlignmentStyle = TabAlignment.Right;
                this.DockPanelManager.DockPanelHideAreaRight.AddHideAreaTabButtonGroup(this);
                break;

            case DockStyle.Bottom:
                this.m_AlignmentStyle = TabAlignment.Bottom;
                this.DockPanelManager.DockPanelHideAreaBottom.AddHideAreaTabButtonGroup(this);
                break;

            default:
                break;
            }
            //
            //
            //
            for (int i = 0; i < this.m_DockPanel.BasePanelCount; i++)
            {
                BasePanel temp = this.m_DockPanel.GetBasePanel(i) as BasePanel;
                if (temp == null)
                {
                    continue;
                }
                HideAreaTabButton hideAreaTabButton = new HideAreaTabButton(i, temp.Text, temp.Image, this.eAlignmentStyle);
                this.AddHideAreaTabButton(hideAreaTabButton);
                hideAreaTabButton.MouseClick += new MouseEventHandler(HideAreaTabButton_MouseClick);
                hideAreaTabButton.MouseHover += new EventHandler(HideAreaTabButtonGroupItem_MouseHover);
                hideAreaTabButton.MouseLeave += new EventHandler(HideAreaTabButtonGroupItem_MouseLeave);
            }
        }
コード例 #9
0
        private void HideAreaTabButtonGroupItem_MouseHover(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(200);
            //
            HideAreaTabButton hideAreaTabButton = sender as HideAreaTabButton;

            if (hideAreaTabButton == null)
            {
                return;
            }
            if (this.m_DockPanel.BasePanelSelectIndex != hideAreaTabButton.iID)
            {
                this.m_DockPanel.BasePanelSelectIndex = hideAreaTabButton.iID;
            }
            //
            this.ShowDockPanelHidePanel(false);
        }
コード例 #10
0
        private void RelayoutVertical()
        {
            if (this.HideAreaTabButtonCount <= 0)
            {
                return;
            }
            //
            int iLayoutSize = 0;

            for (int i = 0; i < this.m_HideAreaTabButtons.Count; i++)
            {
                HideAreaTabButton temp = this.m_HideAreaTabButtons[i] as HideAreaTabButton;
                if (temp == null)
                {
                    continue;
                }
                temp.Location = new Point(0, iLayoutSize);
                iLayoutSize  += temp.LayoutSize();
            }
        }
コード例 #11
0
 public int IndexOfHideAreaTabButton(HideAreaTabButton hideAreaTabButton)
 {
     return(this.m_HideAreaTabButtons.IndexOf(hideAreaTabButton));
 }
コード例 #12
0
 public bool ContainHideAreaTabButtons(HideAreaTabButton hideAreaTabButton)
 {
     return(this.m_HideAreaTabButtons.Contains(hideAreaTabButton));
 }
コード例 #13
0
 public void RemoveHideAreaTabButton(HideAreaTabButton hideAreaTabButton)
 {
     this.m_HideAreaTabButtons.Remove(hideAreaTabButton);
 }
コード例 #14
0
 public void AddHideAreaTabButton(HideAreaTabButton hideAreaTabButton)
 {
     this.m_HideAreaTabButtons.Add(hideAreaTabButton);
 }