首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中出现了一个有关问题,就是程序主窗体已经打开,在调用子窗体时候出现了创建窗口句柄时出错

2011-12-26 
C#中出现了一个问题,就是程序主窗体已经打开,在调用子窗体时候出现了创建窗口句柄时出错。小弟运行程序的时

C#中出现了一个问题,就是程序主窗体已经打开,在调用子窗体时候出现了创建窗口句柄时出错。
小弟运行程序的时候遇到一个问题,请大家帮忙看看!程序主窗体已经打开,在调用子窗体时候出现了“未处理的System.OutOfMemoryException”类型的异常出现在   system.windows.forms.dll   中。其他信息:   创建窗口句柄时出错。”请大家帮忙指导一下,看看怎么解决!
    private   void   MenuItemPeopleManage_Click(object   sender,   System.EventArgs   e)
    {
      if(   GetInstanceState(   "frmPeopleManage "   )   )
      {
        return;
      }
      frmPeopleManage   childFrm   =   new   frmPeopleManage();
      childFrm.MdiParent   =this;
      childFrm.Show();
    }//这里有一个错误。错误的提示是“未处理的“System.OutOfMemoryException”类型的异常

代码全文在我的博客里   大家帮忙看看http://blog.csdn.net/yili2002/


[解决办法]
private void GetInstanceState(Type type)
{
foreach(Form frm in this.MdiChildren )
{
if(frm.GetType() == type)
{
frm.Activate();
break;
}
else
{
Form nfrm = (Form)System.Activator.CreateInstance(type);
nfrm.MdiParent=this;
nfrm.Show();
}
}
}

private void MenuItemDepInfo_Click(object sender, System.EventArgs e)
{
GetInstanceState(typeof(frmDepInfo));
}
private void MenuItemPeopleManage_Click(object sender, System.EventArgs e)
{
GetInstanceState(typeof(frmPeopleManage));
}


热点排行