下面的示例展示了当 Ribbon 合并机制被调用时,如何在一个 MDI 应用程序中合并 RibbonStatusBar 对象。 假设父/子 MDI 窗体中都包含了 RibbonStatusBar 对象。 为了合并它们,RibbonStatusBar.MergeStatusBar 方法在 RibbonControl.Merge 事件处理程序中被调用。 为了取消合并状态栏,RibbonStatusBar.UnMerge 方法在 RibbonControl.UnMerge 事件处理程序中被调用。

C#CopyCode image复制代码
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();
}
Visual BasicCopyCode image复制代码
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