2015-07-12 2 views
3

Окна с вкладками позволяют пользователям перетаскивать элементы табуляции, чтобы переупорядочить их заказы или вывести их из панели вкладок, чтобы превратить их в автономные окна. В настоящее время они так распространены. Многие приложения, которые я использую, имеют их (например, IE, Firefox, Chrome, VS, Android Studio и т. Д.)Как создать вкладки с помощью .NET?

Я ищу платформу .NET или библиотеку управления, которая помогает создавать окна с вкладками. Я пробовал некоторые поиски в stackoverflow и Google, но об этом очень мало. Один из них привести меня к этому

http://fabtab.codeplex.com/

Есть ничего из .NET API, который может помочь мне с этой проблемой, так что я должен создать его с нуля или использовать сторонние библиотеки?

Ребята, пожалуйста, дайте мне несколько предложений или поделитесь со мной своим опытом. Я могу использовать .NET WinForm или WPF, но если это другая структура, я буду готов ее принять.

+0

[DockPanel Люкс] (Http: // dockpanelsuite .com /) –

ответ

3

В окне приложении, вы можете сделать два типа приложений

  1. Multi-формой приложения
  2. Single-форма приложения

В Многоблочной форме, у вас есть одна главной форма, содержащей дочерние формы, и вы можете отображать их как закрепленные вкладки с помощью элемента управления вкладкой.

// 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 

для того, чтобы достичь того, чего вы хотите, вы должны обрабатывать события перетаскивания для TabStrip и MainForm

если вы перетащены форму из-за пределов основной формы и бросил его внутрь, вы можете легко прикрепить эту форму к основной форме путем form.MdiParent = this; // this is the main form

и если вы тащили форму из TabStrip за пределы основной формы, то вы dettach форму из главной формы

from.MdiParent = null; 

надеюсь, что это поможет вам

Смежные вопросы