2011-03-09 78 views
4

我在互联网上发现了一些信息,但没有任何帮助我。 如何合并父级mdi表单中的工具条?合并工具条MDI儿童 - 家长

编辑:

它为我用这个代码:

private void MainForm_MdiChildActivate(object sender, EventArgs e) 
{ 
    IChildWindow child = ActiveMdiChild as IChildWindow; 

    if (child != null) 
    { 
     ToolStripManager.Merge(child.ToolStrip, toolStrip1); 
     child.ToolStrip.Hide(); 

     child.FormClosing += delegate(object sender2, FormClosingEventArgs fe) 
     { 
      child.ToolStrip.Show(); 
      ToolStripManager.RevertMerge(toolStrip1, child.ToolStrip); 
     }; 
    } 
} 

回答

6

您需要使用ToolStripManager。它有一个叫做Merge(ToolStrip, ToolStrip)的方法,它可以做你想做的事。 See here

例如:

ToolStripManager.Merge(((YourChildForm)this.ActiveMdiChild).ToolStrip, parentFormToolStrip); 
0

从子内形成一个还可以执行以下步骤:

Private Sub Child_ParentChanged(sender As Object, e As System.EventArgs) Handles Me.ParentChanged 
    Try 
     ToolStripManager.Merge(Me.ToolStrip, TryCast(sender.mdiParent, frmMain).ToolStrip) 
    Catch ex As Exception 
     mErrorLog.ApplicationErrorLog(Me.GetType.Name, "frmTechSelectWO_ParentChanged", ex.ToString) 
    Finally 
     Me.ToolStrip.Hide() 
     Me.MenuStrip1.Hide() 
    End Try 
End Sub 


Private Sub Child_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 
    ' 
    ' Clean up the parent toolbar 
    Try 
     ToolStripManager.RevertMerge(TryCast(Me.MdiParent, frmMain).ToolStrip) 
    Catch ex As Exception 
    End Try 
End Sub