当前位置:编程学习 > C#/ASP.NET >>

toolStripContainer

请问,如何将子窗体中的toolStrip加到父窗体的toolStripContainer中?或或者合并也行,不过合并的话,我因为用了Docking Panel,MdiChildActivate事件好像被屏蔽掉了,不起作用。 --------------------编程问答--------------------

ToolStripContainer 由控件每一侧的可扩展和可折叠的 ToolStripPanel 以及一个中间 ToolStripContentPanel 组成。使用 ToolStripPanel 来容纳一个或多个 ToolStrip、MenuStrip 或 StatusStrip 控件。使用中间 ToolStripContentPanel 来容纳其他控件。 

通过分别将它们的 TopToolStripPanelVisible、BottomToolStripPanelVisible、LeftToolStripPanelVisible 和 RightToolStripPanelVisible 属性设置为 false,可以隐藏顶部面板、底部面板、左面板和右面板。默认情况下,这些属性的每一个在设计时都是 true。在设计时,ToolStripContainer 还显示其顶部面板已经展开。

示例
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


public class Form1 : Form
{
    private ToolStripContainer toolStripContainer1;
    private ToolStrip toolStrip1;

    public Form1()
    {
        InitializeComponent();
    }
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }

    private void InitializeComponent()
    {
        toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
        toolStrip1 = new System.Windows.Forms.ToolStrip();
        // Add items to the ToolStrip.
        toolStrip1.Items.Add("One");
        toolStrip1.Items.Add("Two");
        toolStrip1.Items.Add("Three");
        // Add the ToolStrip to the top panel of the ToolStripContainer.
        toolStripContainer1.TopToolStripPanel.Controls.Add(toolStrip1);
        // Add the ToolStripContainer to the form.
        Controls.Add(toolStripContainer1);
 
    }
}
--------------------编程问答-------------------- 谢谢,不过请看清楚我的问题,谢谢。 --------------------编程问答-------------------- 用个用户空间看一下。。 --------------------编程问答--------------------
引用 3 楼 happy09li 的回复:
用个用户空间看一下。。


你空间里好像没有哇。 --------------------编程问答-------------------- 下载 --------------------编程问答--------------------
引用 5 楼 wxr0323 的回复:
下载


这个好像没有和,因为如果要用合并的方式的放在,我的主窗体里使用了weifenluo的docking panel,MdiChildActivate事件不起操作,所以在这个事件里写

            ToolStripManager.RevertMerge(toolStrip1);
            if (this.ActiveMdiChild == null)
            {
                return;
            }
            if ((ActiveMdiChild as IMergeToolStrip).MergeToolStrip == null)
            {
                return;
            }
            ToolStripManager.Merge((ActiveMdiChild as IMergeToolStrip).MergeToolStrip, toolStrip1);

            if (toolStrip1.Items.Count > 0)
            {
                toolStrip1.Visible = true;
            }
            else
            {
                toolStrip1.Visible = false;
            }


不会被执行,所以无法合并,不知道能不能直接将子窗体中的toolStrip1加到主窗体的toolStripContainer中去? --------------------编程问答-------------------- 不好意思,错字太多了

这个好像没有用,因为如果要用合并方式的话,我在主窗体里使用了weifenluo的docking panel,MdiChildActivate事件不起作用了,所以在这个事件里写的上面的代码不会被执行,无法合并。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,