MDI窗体工具栏(ToolStrip)合并

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;
}


上一篇: 寻找IE9搜索框
下一篇: C#将16进制颜色转为Color对象的方法
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 6196
发表评论
登录后再发表评论!