Dock Panels. Win TabbedMDI

Add new class to Windows Forms Module Project, inherit it from DetailViewForm and implement IDockManagerHolder interface.

  • c#
  • VB

public class TabbedMDIDetailViewForm : DetailViewForm, IDockManagerHolder
{
  public DockManager DockManager
  {
    get
    {
      var dockManager = new DockManager();
      dockManager.DockingOptions.ShowCaptionImage = true;
      dockManager.Form = this;
      dockManager.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl" });
      return dockManager;
    }
  }
}

Public Class TabbedMDIDetailViewForm
  Inherits DetailViewForm
  Implements IDockManagerHolder
  Public ReadOnly Property DockManager As DockManager
    Get
      Dim dockManager = New DockManager()
      dockManager.DockingOptions.ShowCaptionImage = True
      dockManager.Form = Me
      dockManager.TopZIndexControls.AddRange(New String() { "DevExpress.XtraBars.BarDockControl","DevExpress.XtraBars.StandaloneBarDockControl","System.Windows.Forms.StatusBar","DevExpress.XtraBars.Ribbon.RibbonStatusBar","DevExpress.XtraBars.Ribbon.RibbonControl" })
      Return dockManager
    End Get
  End Property
End Class

Modify WinApplication.cs file, subscribe to the CreateCustomTemplate event:

  • c#
  • VB

private void TabbedWindowsFormsApplication_CreateCustomTemplate(object sender, CreateCustomTemplateEventArgs e)
{
  if (e.Context == TemplateContext.View)
    e.Template = new TabbedMDIDetailViewForm();
}

Private Sub TabbedWindowsFormsApplication_CreateCustomTemplate(ByVal sender As Object, ByVal e As CreateCustomTemplateEventArgs)
  If e.Context = TemplateContext.View Then
    e.Template = New TabbedMDIDetailViewForm()
  End If
End Sub