5

这适用于 C#,我正在使用 Visual Studio Express 2010 在 Windows 7 环境中工作。我有一个应用程序,其中我有一个工具条容器停靠设置来填充,因此用户可以在任何边缘添加工具条。问题是工具条容器已经覆盖了我想用来保存子窗口的东西。包含工具条容器的主窗体已设置为 mdi 父级。我发现这篇文章有助于将子窗口放入容器中: How to use a ToolStripContainer whith Dock=Fill on a MDI parent?

但是,以这种方式完成的子窗口在“本机”MDI 环境中的行为似乎并不像它们应有的那样。寄宿生看起来好像 Windows 7 Aero 效果已被禁用,并且最小化子窗口使其完全消失。

本质上,我想要一个 MDI 区域,用于由工具条停靠区域包围的子窗口。

非常感谢你的帮助

4

1 回答 1

5

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

请尝试改用 ToolStripPanel 控件。它在设计器中不能很好地工作(这可能是默认情况下它不在工具箱中的原因)。

例子:

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);
  }
}
于 2012-03-29T14:37:28.993 回答