木子屋 Dnawo's BLOG

MDI窗体工具栏(ToolStrip)合并

👤 dnawo 📅 2011-04-28 👁 6671 👍 0 💬 0 🔄 来源:本站原创
1.声明一个接口IToolStrip:

public interface IToolStrip
{
    ToolStrip OwnToolStrip
    {
        get;
    }
}

2.MDI子窗体都实现接口IToolStrip,并将工具栏Visible属性设置为false:

public partial class Form2 : Form, IToolStrip
{
    public Form2()
    {
        InitializeComponent();
        
    }

    public ToolStrip OwnToolStrip
    {
        get
        {
            //toolStrip1为子窗体工具栏
            return toolStrip1;
        }
    }
}

3.给MDI父窗体MdiChildActivate事件添加处理程序:

private void Form1_MdiChildActivate(object sender, EventArgs e)
{
    //toolStrip1为父窗体工具栏
    ToolStripManager.RevertMerge(toolStrip1);
    if (this.ActiveMdiChild != null)
    {
        if ((ActiveMdiChild as IToolStrip).OwnToolStrip != null)
        {
            ToolStripManager.Merge((ActiveMdiChild as IToolStrip).OwnToolStrip, toolStrip1);
        }
    }
    //若工具栏没有工具项时,隐藏该工具栏
    if (toolStrip1.Items.Count > 0)
        toolStrip1.Visible = true;
    else
        toolStrip1.Visible = false;
}

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 寻找IE9搜索框 下一篇 → C#将16进制颜色转为Color对象的方法