现在的位置: 首页 > 综合 > 正文

用 WeifenLuo.WinFormsUI 实现 VS2005 风格的多页签浏览器

2013年12月07日 ⁄ 综合 ⁄ 共 811字 ⁄ 字号 评论关闭

效果图:

使用起来还比较简单,关键点说明:

1)在主窗口客户区放置一个DockPanel,设置如下事件:

// TAB切换时会触发的事件,在这里切换主窗口公用工具栏和状态条:
 dockPanel.ActiveDocumentChanged += new EventHandler(dockPanel_ActiveDocumentChanged);

2)每个TAB标签实际上是一个Form,从 DockContent 派生(DockContent实际上从Form派生)

  public partial class IETabForm : Form
  {

  }

3)添加一个页签

private IETabForm AddNewTab(DockPane pane)
{
    IETabForm page = new IETabForm();
    page.DockAreas = DockAreas.Document;//限制只能停靠在主窗口中间的文档区

    if (pane == null || pane.Contents.Count < 1)
    {
        InitPane(pane, page);
    }
    else
    {
        page.Show(pane, GetBlankTab(pane));
    }
    return page;
}

private void InitPane(DockPane pane, IETabForm page)
{
    if (pane == null)
    {
        page.Show(dockPanel);
        pane = dockPanel.ActiveDocumentPane;
    }
    else
    {
        page.Show(pane, null);
    }

    AddBlankPage(pane); // 添加一个空白页签在最右侧(用于打开新页签)
}

其中DockPane表示一个停靠窗格,类似于 VS2005 如下两个Pane:

 

抱歉!评论已关闭.