Back to Devexpress

How to: Merge RibbonStatusBar Objects

windowsforms-5498-controls-and-libraries-ribbon-bars-and-menu-examples-ribbon-how-to-merge-ribbonstatusbar-objects.md

latest2.6 KB
Original Source

How to: Merge RibbonStatusBar Objects

  • Nov 13, 2018
  • 2 minutes to read

The following example shows how to merge RibbonStatusBar objects in an MDI application, when the Ribbon merging mechanism is invoked. It’s assumed that both the parent and child MDI forms contain RibbonStatusBar objects. To merge them, the RibbonStatusBar.MergeStatusBar method is called in a RibbonControl.Merge event handler. To unmerge the status bars, the RibbonStatusBar.UnMerge method is called in a RibbonControl.UnMerge event handler.

csharp
using DevExpress.XtraBars.Ribbon;

// Merge Ribbon Controls when a child form is maximized
RibbonControl1.MdiMergeStyle = DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.OnlyWhenMaximized;

// Manually merge the status bars of the parent and child MDI forms.
private void RibbonControl1_Merge(object sender, RibbonMergeEventArgs e) {
    RibbonControl parentRRibbon = sender as RibbonControl;
    RibbonControl childRibbon = e.MergedChild;
    parentRRibbon.StatusBar.MergeStatusBar(childRibbon.StatusBar);
}
// Manually unmerge the status bars.
private void RibbonControl1_UnMerge(object sender, RibbonMergeEventArgs e) {
    RibbonControl parentRRibbon = sender as RibbonControl;            
    parentRRibbon.StatusBar.UnMergeStatusBar();
}
vb
Imports DevExpress.XtraBars.Ribbon

' Merge Ribbon Controls when a child form is maximized
Private RibbonControl1.MdiMergeStyle = _ 
DevExpress.XtraBars.Ribbon.RibbonMdiMergeStyle.OnlyWhenMaximized

' Manually merge the status bars of the parent and child MDI forms.
Private Sub RibbonControl1_Merge(ByVal sender As System.Object, _
ByVal e As RibbonMergeEventArgs) Handles RibbonControl1.Merge
    Dim parentRRibbon As RibbonControl = TryCast(sender, RibbonControl)
    Dim childRibbon As RibbonControl = e.MergedChild
    parentRRibbon.StatusBar.MergeStatusBar(childRibbon.StatusBar)
End Sub

' Manually unmerge the status bars.
Private Sub RibbonControl1_UnMerge(ByVal sender As System.Object, _
ByVal e As RibbonMergeEventArgs) Handles RibbonControl1.UnMerge
    Dim parentRRibbon As RibbonControl = TryCast(sender, RibbonControl)
    parentRRibbon.StatusBar.UnMergeStatusBar()
End Sub