【问题标题】:Merge toolstrip MDI child - parent合并工具条 MDI 子 - 父
【发布时间】:2011-07-12 04:40:50
【问题描述】:

我在互联网上找到了一些信息,但没有任何帮助。 如何在父 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);
        };
    }
}

【问题讨论】:

    标签: c# winforms merge mdi


    【解决方案1】:

    您需要使用ToolStripManager。它有一个名为Merge(ToolStrip, ToolStrip) 的方法,可以满足您的要求。 See here

    例如:

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

    【讨论】:

      【解决方案2】:

      从子窗体中也可以执行以下操作:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多