我在主窗体中使用一个面板来打开程序中的所有其他窗体,左侧有一个菜单,其中包含用于每个窗体的按钮和用于其他内容的子菜单,并且在我什么都没有的情况下可以使用加载到面板中,但是当我执行菜单上的按钮时,有时会起作用,有时却无法...
这是菜单的两个屏幕截图
这是我用来在面板内部打开表单的代码
private void abrirHijo(object formHijo)
{
panelContenedor.Controls.Clear();
Form fh = formHijo as Form;
fh.TopLevel = false;
fh.Dock = DockStyle.Fill;
this.panelContenedor.Controls.Add(fh);
this.panelContenedor.Tag = fh;
fh.Show();
}
答案 0 :(得分:0)
所以我最终解决了这个问题,因此出于某种原因,垂直菜单中菜单中的按钮被添加为用于放置表格的面板上的控件,因此当我使用 “ panelContenedor.Controls.Clear();”我最终删除了所有按钮,所以我最终做到了,它奏效了
if (panelContenedor.Controls.Count > 6) //it is six because i have 5 controls and when i open a form it turns to six, so if i have a sixth control it means that i have a form open and so i must close it
{
panelContenedor.Controls.RemoveAt(6);
}
Form fh = formHijo as Form;
fh.TopLevel = false;
fh.Dock = DockStyle.Fill;
this.panelContenedor.Controls.Add(fh);
this.panelContenedor.Tag = fh;
fh.Show();