使工具栏容器面板像MDI父面板一样工作



这是针对C#的,我正在使用Visual Studio Express 2010的Windows 7环境中工作。我有一个应用程序,其中设置了一个要填充的toolstripcontainer dock,这样用户就可以在任何边缘添加toolstrip。问题是toolstripcontainer已经覆盖了我想要用来容纳子窗口的内容。包含toolstripcontainer的主窗体已设置为mdi父窗体。我发现这篇文章有助于将子窗口放入容器:如何在MDI父级上使用Dock=Fill的ToolStripContainer?

然而,以这种方式完成的子窗口似乎并不像在"本机"MDI环境中那样运行。寄宿生看起来就像窗户7 Aero效果已经被禁用,最小化子窗口使其完全消失。

从本质上讲,我想要一个由toolstrip停靠区域包围的子窗口的MDI区域。

非常感谢您的帮助

不幸的是,ToolStripContainer控件不适用于MDI窗体。

请尝试使用ToolStripPanel控件。它在设计器中工作不太好(这可能是它默认不在ToolBox中的原因)。

示例:

public partial class Form1 : Form {
  public Form1() {
    InitializeComponent();
    this.IsMdiContainer = true;
    ToolStripPanel leftPanel = new ToolStripPanel() { Dock = DockStyle.Left };
    ToolStripPanel topPanel = new ToolStripPanel() { Dock = DockStyle.Top };
    this.Controls.Add(leftPanel);
    this.Controls.Add(topPanel);
    ToolStrip ts = new ToolStrip() { Dock = DockStyle.Fill };
    ToolStripButton tsb = new ToolStripButton("Test", SystemIcons.Application.ToBitmap());
    ts.Items.Add(tsb);
    topPanel.Controls.Add(ts);
  }
}

最新更新