windowsforms-5416-controls-and-libraries-ribbon-bars-and-menu-examples-bars-how-to-merge-bars-manually.md
Assume you have parent and child MDI forms. On each one you place a Bar Manager and create an Edit toolbar. When the child MDI form is activated, we want to merge these toolbars (XtraBars supports automatic merging of main menus only). For this purpose, the BarManager.Merge event is handled. Toolbars are merged using the Bar.Merge method.
When the child form becomes inactive (for instance, focus may move to another form), we need to restore the original main menu layout of the parent form. For this purpose, the Bar.UnMerge method is called in an BarManager.UnMerge event handler.
using DevExpress.XtraBars;
private void barManager1_Merge(object sender, BarManagerMergeEventArgs e) {
BarManager parentBarManager = sender as BarManager;
Bar childBar = e.ChildManager.Bars["Edit"];
Bar parentBar = parentBarManager.Bars["Edit"];
parentBar.Merge(childBar);
}
private void barManager1_UnMerge(object sender, BarManagerMergeEventArgs e) {
BarManager parentBarManager = sender as BarManager;
Bar parentBar = parentBarManager.Bars["Edit"];
parentBar.UnMerge();
}
Imports DevExpress.XtraBars
Private Sub BarManager1_Merge(ByVal sender As Object, _
ByVal e As DevExpress.XtraBars.BarManagerMergeEventArgs) Handles BarManager1.Merge
Dim parentBarManager as BarManager = sender
Dim childBar As Bar = e.ChildManager.Bars("Edit")
Dim parentBar As Bar = parentBarManager.Bars("Edit")
parentBar.Merge(childBar)
End Sub
Private Sub BarManager1_UnMerge(ByVal sender As Object, _
ByVal e As DevExpress.XtraBars.BarManagerMergeEventArgs) Handles BarManager1.UnMerge
Dim parentBarManager as BarManager = sender
Dim parentBar As Bar = parentBarManager.Bars("Edit")
parentBar.UnMerge()
End Sub