0
我有一个左侧可以点击的面板中的主窗体,这取决于你点击一个新类型的窗体打开。在righti有另一个面板,我想停靠点击左侧已打开的窗体。在c中停靠mdi控件#
如何在右侧的面板中将表单添加到另一个表单中?下面的代码的问题是它添加了第一个元素。然而,当我添加第二个元件的面板后面它们都dissapear:/
private void addToPanel2(Form o)
{
if (o is Form)
{
if (panel2.Controls.Count == 0)
{
o.MdiParent = this;
panel2.Controls.Add(o);
o.Dock = DockStyle.Top;
o.Show();
}
else
{
//then we know that this is an addable data item
foreach (Form obj in panel2.Controls)
{
if(obj.GetType().Name.Equals(o.GetType().Name))
{
//we dont want to add it as the data type is already open
MessageBox.Show("This data item must already be open. Please Check.");
}
else
{
// add it as its not in there
Form f = (Form)obj;
f.MdiParent = this;
f.Dock = DockStyle.Top;
f.Show();
}
}
}
}
感谢
你可能想看看http://sourceforge.net/projects/dockpanelsuite/。上次我检查,它可以处理你想要的和更多;) – 2011-04-04 14:06:32
也许你可以使用工具栏,而不是左侧面板?然后,您可以将所有子窗体添加到主窗体。 – sventevit 2011-04-04 14:52:38