Form1(MDIParent)
public partial class Form1 : Form
{
public interface ITools
{
ToolStrip CipherToolStrip
{
get;
}
}
public Form1()
{
InitializeComponent();
}
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
}
private void Form1_MdiChildActivate(object sender, EventArgs e)
{
ToolStripManager.RevertMerge(MDIParent);
if (this.ActiveMdiChild != null)
{
if ((ActiveMdiChild as ITools).CipherToolStrip != null)
{
ToolStripManager.Merge((ActiveMdiChild as ITools).CipherToolStrip, MDIParent);
}
}
if (MDIParent.Items.Count > 0)
MDIParent.Visible = true;
else
MDIParent.Visible = false;
}
}
Form2(MDIChild)
public partial class Form2 : Form, Form1.ITools
{
public ToolStrip CipherToolStrip
{
get
{
return MDIChild;
}
}
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
MDIChild.Visible = false;
ControlBox = false;
}
}
通过设置 MergeAction 和 MergeIndex 可以修改合并的方式与位置。
运行结果如下: