Esempio n. 1
0
 public virtual void Assign(vTabCollection collection)
 {
     this.BeginUpdate();
     try
     {
         base.Clear();
         for (int i = 0; i < collection.Count; i++)
         {
             vTabPage page = collection[i];
             vTabPage newPage = new vTabPage();
             newPage.Assign(page);
             this.Add(newPage);
         }
     }
     finally
     {
         this.EndUpdate();
     }
 }
Esempio n. 2
0
 public virtual bool Contains(vTabPage page)
 {
     return base.List.Contains(page);
 }
Esempio n. 3
0
 public virtual int Add(vTabPage page)
 {
     int res = base.IndexOf(page);
     if (res == -1) res = base.List.Add(page);
     return res;
 }
Esempio n. 4
0
 public virtual void AddRange(vTabPage[] pages)
 {
     this.BeginUpdate();
     try
     {
         foreach (vTabPage page in pages)
         {
             base.List.Add(page);
         }
     }
     finally
     {
         this.EndUpdate();
     }
 }
Esempio n. 5
0
        public void AddTab(vTabPage page, bool autoSelect)
        {
            page.Dock = DockStyle.Fill;
            this._tabPages.Add(page);

            if ((autoSelect && page.Visible) || (page.Visible && this._tabPages.DrawnCount < 1))
            {
                this.SelectedPage = page;
                this.SelectPage(page);
            }
        }
Esempio n. 6
0
 public override void Initialize(System.ComponentModel.IComponent component)
 {
     base.Initialize(component);
     this._tabPage = component as vTabPage;
 }
Esempio n. 7
0
 private void SetDefaultSelected()
 {
     if (this._tabPages.Count > 0)
     {
         this._selecedPage = this._tabPages[0];
     }
     for (int i = 0; i < this._tabPages.Count; i++)
     {
         vTabPage page = this._tabPages[i];
         page.Dock = DockStyle.Fill;
     }
 }
Esempio n. 8
0
 public virtual vTabPage MoveTo(int newIndex, vTabPage page)
 {
     int currentIndex = base.List.IndexOf(page);
     if (currentIndex >= 0)
     {
         base.RemoveAt(currentIndex);
         this.Insert(0, page);
         return page;
     }
     return null;
 }
Esempio n. 9
0
 private void OnCalcTabPage(Graphics g, vTabPage page)
 {
     RectangleF buttonRect = new RectangleF(new Point(this._startPos, 0), HEADER_SIZE);
     page.StripBounds = buttonRect;
     this._startPos += (int)HEADER_SIZE.Width - 1;
 }
Esempio n. 10
0
 /// <summary>
 /// 绘制选项卡的Header
 /// </summary>
 private void OnDrawTabPage(Graphics g, vTabPage page)
 {
     Rectangle pageRect = Rectangle.Round(page.StripBounds);
     if (page.Selected)
     {
         g.DrawImage(
             ImageToolbar_Hover,
             pageRect,
             new Rectangle(Point.Empty, ImageToolbar_Hover.Size),
             GraphicsUnit.Pixel);
     }
     else
     {
         switch (page.StripState)
         {
             case EMouseState.Normal:
             case EMouseState.MouseLeave:
                 break;
             case EMouseState.MouseMove:
             case EMouseState.MouseDown:
             case EMouseState.MouseUp:
                 g.DrawImage(
                     ImageToolbar_Hover,
                     pageRect,
                     new Rectangle(Point.Empty, ImageToolbar_Hover.Size),
                     GraphicsUnit.Pixel);
                 break;
         }
     }
     if (page.Image != null)
     {
         Rectangle imageRect = new Rectangle();
         imageRect.X = pageRect.X + (pageRect.Width - 48) / 2;
         //imageRect.Y += 10;
         imageRect.Size = new Size(48, 48);
         g.DrawImage(
             page.Image,
             imageRect,
             new Rectangle(Point.Empty, page.Image.Size),
             GraphicsUnit.Pixel);
     }
     else
     {
         Rectangle imageRect = new Rectangle();
         imageRect.X = pageRect.X + (pageRect.Width - 48) / 2;
         imageRect.Size = new Size(48, 48);
         g.DrawRectangle(Pens.Red, imageRect);
     }
     //计算文字的绘制区域
     if (page.Title != string.Empty)
     {
         SizeF size = g.MeasureString(page.Title, page.Font);
         RectangleF textRect = new RectangleF();
         textRect.X = pageRect.X + (pageRect.Width - size.Width) / 2;
         textRect.Y = pageRect.Height - 20;
         textRect.Width = pageRect.Width;
         textRect.Height = 20;
         using (Brush brush = new SolidBrush(this.ForeColor))
         {
             g.DrawString(page.Title, this.Font, brush, textRect, this._sf);
         }
     }
     page.IsDrawn = true;
 }
Esempio n. 11
0
 internal void UnSelectPage(vTabPage page)
 {
     page.Selected = false;
 }
Esempio n. 12
0
 internal void SelectPage(vTabPage page)
 {
     if (page != null)
     {
         page.Dock = DockStyle.Fill;
         page.Visible = true;
         page.Selected = true;
     }
 }
Esempio n. 13
0
        public void RemoveTab(vTabPage page)
        {
            int tabIndex = this._tabPages.IndexOf(page);
            if (tabIndex >= 0)
            {
                this.UnSelectPage(page);
                this._tabPages.Remove(page);
            }

            if (this._tabPages.Count > 0)
            {
                if (this._tabPages[tabIndex - 1] != null)
                    this.SelectedPage = this._tabPages[tabIndex - 1];
                else
                    this.SelectedPage = this._tabPages.FirstVisible;

            }
        }
Esempio n. 14
0
 public virtual int IndexOf(vTabPage page)
 {
     return base.List.IndexOf(page);
 }
Esempio n. 15
0
 public TabPageChangeEventArgs(vTabPage page, ETabPageChangeType type)
 {
     this._type = type;
     this._page = page;
 }
Esempio n. 16
0
 public virtual void Insert(int index, vTabPage page)
 {
     if (this.Contains(page)) return;
     base.List.Insert(index, page);
 }
Esempio n. 17
0
 public TabPageClosingEventArgs(vTabPage page)
 {
     this._page = page;
 }
Esempio n. 18
0
 public virtual void Remove(vTabPage page)
 {
     if (base.List.Contains(page))
         base.List.Remove(page);
 }
Esempio n. 19
0
 public void AddTab(vTabPage page)
 {
     this.AddTab(page, false);
 }