管理MDI窗口,解决繁琐的打开窗口的问题
2004-08-15 06:05
288 查看
public void showMdiChild(System.Windows.Forms.Form MdiChildForm)
{
int i;
Form[] frmForms = this.MdiChildren;
bool btrue=false;
Cursor.Current=Cursors.WaitCursor;
for (i=0; i<frmForms.Length; i++)
{
//窗体类实例转换成字符串时相同,说明是同一个实例
if (frmForms[i].ToString()==MdiChildForm.ToString())
{
MdiChildForm.Dispose(); //释放刚创建的子窗体的实例资源
this.MdiChildren[i].Activate(); //将已经创建的实例窗体激活
this.MdiChildren[i].BringToFront ();
MdiChildForm.TopMost =true;
btrue=true;
}
}
// this.Controls
//如果i等于窗体数组的长度,
//说明上面的循环完成后没有找到窗体实例与传过来的窗体实例相同,
//说明新创建的窗体没有被创建过,那么就把它显示出来
// frm.TopLevel=false;
if(btrue==false)
{
MdiChildForm.MdiParent = this; //指定窗体的MDI父窗体
MdiChildForm.Show();
if(MdiChildForm.MaximizeBox ==false)
{
MdiChildForm.WindowState = FormWindowState.Normal ;
MdiChildForm.StartPosition =FormStartPosition.CenterScreen;
}
else
MdiChildForm.WindowState = FormWindowState.Maximized ;
MdiChildForm.BringToFront ();
MdiChildForm.TopMost =true;
}
Cursor.Current =Cursors.Default ;
}
调用范例
frmSPZJ fm=new frmSPZJ();
showMdiChild(fm);
{
int i;
Form[] frmForms = this.MdiChildren;
bool btrue=false;
Cursor.Current=Cursors.WaitCursor;
for (i=0; i<frmForms.Length; i++)
{
//窗体类实例转换成字符串时相同,说明是同一个实例
if (frmForms[i].ToString()==MdiChildForm.ToString())
{
MdiChildForm.Dispose(); //释放刚创建的子窗体的实例资源
this.MdiChildren[i].Activate(); //将已经创建的实例窗体激活
this.MdiChildren[i].BringToFront ();
MdiChildForm.TopMost =true;
btrue=true;
}
}
// this.Controls
//如果i等于窗体数组的长度,
//说明上面的循环完成后没有找到窗体实例与传过来的窗体实例相同,
//说明新创建的窗体没有被创建过,那么就把它显示出来
// frm.TopLevel=false;
if(btrue==false)
{
MdiChildForm.MdiParent = this; //指定窗体的MDI父窗体
MdiChildForm.Show();
if(MdiChildForm.MaximizeBox ==false)
{
MdiChildForm.WindowState = FormWindowState.Normal ;
MdiChildForm.StartPosition =FormStartPosition.CenterScreen;
}
else
MdiChildForm.WindowState = FormWindowState.Maximized ;
MdiChildForm.BringToFront ();
MdiChildForm.TopMost =true;
}
Cursor.Current =Cursors.Default ;
}
调用范例
frmSPZJ fm=new frmSPZJ();
showMdiChild(fm);
相关文章推荐
- 解决: ctrl+shift 快速切换输入法导致自动关闭当前打开的任何窗口的问题
- 遇到Word2007 只能打开一个文档,切换窗口再回去鼠标也不能用。解决问题
- MATLAB启动时打开多个窗口问题的解决
- 记一次eclipse 打开选择workspace窗口崩溃的问题的解决
- 打开新窗口的window.open使用方法以及最大化等问题解决方法汇总
- 关于vs2005中网站管理工具中的“安全 ”选项无法打开和缺少AspNetDB.mdf数据库的问题解决办法
- 解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
- 打开多个Excel2010文档在同一个窗口中显示问题如何解决
- 解决WebBrowser中打开链接调用IE窗口问题
- 解决Selenium Webdriver执行测试时,每个测试方法都打开一个浏览器窗口的问题
- 关于解决打开多个文本聊窗口的端口占用问题的若干想法(官话~)
- 解决openWin打开新窗口出现地址栏问题
- 绝对性解决打开我的电脑-打开文件夹在新窗口中打开问题
- win7下,QT 及 QGLViewer 环境配置总结 | 版本匹配问题 | 解决debug模式下无法打开窗口
- 解决ebs不能打开forms窗口的问题
- 解决action配置jsp页面在新窗口中打开的问题
- 解决window.showModalDialog提交表单在新窗口中打开的问题
- 解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
- javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
- 学生信息管理系统---信息查询窗口无法查询到数据(问题及其解决办法)