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));
}