这适用于C#,我在使用Visual Studio Express 2010的Windows 7环境中工作。 我有一个应用程序,我有一个tooltripcontainer dock设置为填充,以便用户可以在任何边缘添加工具条。问题是toolstripcontainer已经覆盖了我想要用来保存子窗口的东西。包含toolstripcontainer的主窗体已设置为mdi父级。 我发现这篇文章对于将子窗口放入容器非常有用: How to uses a ToolStripContainer whith Dock=Fill on a MDI parent?
但是,以这种方式完成的子窗口似乎在“本机”MDI环境中的行为不正常。看起来好像已经禁用了Windows 7 Aero效果,并且最小化子窗口使它完全消失。
基本上我想要一个由工具条停靠区域包围的子窗口的MDI区域。
非常感谢你的帮助
答案 0 :(得分:4)
不幸的是,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);
}
}