完成任何操作后如何渲染窗体

时间:2016-01-11 08:58:33

标签: c# .net winforms mdiparent

我是窗口应用程序的新手,在将数据保存到数据库后,我无法呈现另一个窗体。  这是我的代码我打开另一个窗口表单

GameList gamelist = new GameList();// the form which I want to open
gamelist.MdiParent = new FrmAdmin();// FrmAdmin is main parent form
gamelist.WindowState = FormWindowState.Maximized;
gamelist.Show();

但我收到此错误消息:

  

指定为此表单的MdiParent的表单不是   MdiContainer。

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

我认为问题在于您使用的是不可见的MdiParent(因为您正在创建新的MdiParent)。尝试删除此行:

gamelist.MdiParent = new FrmAdmin();// FrmAdmin is main parent form

并查看表单是否正确显示。

如果要在MdiParent中显示GameList表单,则必须使用已经可见的表单。

编辑:

查看您的评论,如果您尝试在当前表单中显示GameList表单,请尝试以下操作:

this.IsMdiContainer = true;
GameList gamelist = new GameList();// the form which I want to open
gamelist.MdiParent = this;// FrmAdmin is main parent form
gamelist.WindowState = FormWindowState.Maximized;
gamelist.Show();

答案 1 :(得分:1)

您需要将父表单的IsMdiContainer设置为True,并将new FrmAdmin();更改为this,然后重试:

public FrmAdmin()
{
    InitializeComponent();
    IsMdiContainer = true;
}

GameList gamelist = new GameList();
gamelist.MdiParent = this;
gamelist.WindowState = FormWindowState.Maximized;
gamelist.Show();