如何使用.NET创建选项卡式窗口?

时间:2015-07-12 01:59:32

标签: c# .net

选项卡式窗口允许用户拖放选项卡项以重新排列订单或将其移出选项卡栏以将其转换为独立窗口。它们目前非常普遍。我使用的许多应用都有它们(例如IE,Firefox,Chrome,VS,Android Studio等)

我正在寻找有助于创建标签式窗口的.NET框架或控件库。我已经在stackoverflow和Google上尝试了一些搜索,但关于它的话题却很少。其中一个带我到这个

http://fabtab.codeplex.com/

.NET API是否可以帮助我解决这个问题,所以我必须从头开始创建它或使用第三方库?

伙计们,请给我一些建议或分享你的经验。我可以使用.NET WinForm或WPF,但如果它是另一个框架,我将准备好采用它。

1 个答案:

答案 0 :(得分:3)

在Windows应用程序中,您可以创建两种类型的应用程序

  1. 多表单应用程序
  2. 单一表单应用程序
  3. 在多表单应用程序中,您有一个包含子表单的主表单,您可以使用tabstrip控件将它们显示为停靠的选项卡。

    // to add a form in the MdiParent form
         var form = new ChildForm();
        form.MdiParent = this;
        form.Show();
    

    在单一表单应用程序中,表单已创建但未附加到主表单

     // to add a form in single form application
        var form = new AnotherForm();
        form.Show(); //  form.ShowDialog() should not be used because it will be modal form
    

    为了达到你想要的效果,你需要处理tabtrip和mainform的拖放事件

    如果您从主表单外部拖放表单并将其放入其中,则可以通过form.MdiParent = this; // this is the main form

    轻松地将此表单附加到主表单

    如果您将表单从tabstrip拖到主表单外部,则可以从主表单中删除表单

    from.MdiParent = null;
    

    希望这会对你有所帮助