应该在每次需要的时候重新构造(new)一个mdi子窗口还是应该只保持一个实例? 我有一个mdi子窗口,会被菜单事件多次调用,我想知道在c#的项目中,应该在每次需要的时候重新构造(new)一个mdi子窗口还是应该只保持一个实例?如果只保持一个实例的话,需要在窗口的关闭事件中如何处理才能确保该子窗口仅被隐藏? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是这样说地。保持一个实例意思是多次点菜单时打开同一个实例窗体,而不要去new一个,但又不是当用户点关闭按钮时你还不把窗体关掉,这会浪费内存。给你一段示例代码,当多次点菜单时会打开同一个Form2的实例,但当用户关闭时才会去重新new一个for(int i =0;i<this.MdiChildren.Length;i++){ if(this.MdiChildren[i].Name == "Form2") { this.MdiChildren[i].Show(); this.MdiChildren[i].Activate(); return; } Form2 frm = new Form2(); frm.MdiParent = this; frm.Show();} 喔...不好意思.贴代码的时候贴错了for(int i =0;i<this.MdiChildren.Length;i++){ if(this.MdiChildren[i].Name == "Form2") { this.MdiChildren[i].Show(); this.MdiChildren[i].Activate(); return; } } Form2 frm = new Form2(); frm.Name = "Form2"; frm.MdiParent = this; frm.Show(); C#如何使用SQL语句来建表,新增字段(类型) 请高手相助 C#如何检测到按下休眠键并禁止休眠 ListView控件中的右键菜单问题 月薪4000的笔试题目 有一个项目需要合作,有兴趣请给我来信。 请问C1FlexGrid的一个问题? 关于软件换肤的问题 如何保留XML中的特殊字符 如何将MSDE的登陆方式改为使用SQL Server身份验证。 哪位知道,怎样遍历一个目录得到所有文件名和文件的路径? 一个简单的问题--webform问题
保持一个实例意思是多次点菜单时打开同一个实例窗体,而不要去new一个,但又不是当用户点关闭按钮时你还不把窗体关掉,这会浪费内存。
给你一段示例代码,当多次点菜单时会打开同一个Form2的实例,但当用户关闭时才会去重新new一个
for(int i =0;i<this.MdiChildren.Length;i++)
{
if(this.MdiChildren[i].Name == "Form2")
{
this.MdiChildren[i].Show();
this.MdiChildren[i].Activate();
return;
}
Form2 frm = new Form2();
frm.MdiParent = this;
frm.Show();
}
for(int i =0;i<this.MdiChildren.Length;i++)
{
if(this.MdiChildren[i].Name == "Form2")
{
this.MdiChildren[i].Show();
this.MdiChildren[i].Activate();
return;
}
}
Form2 frm = new Form2();
frm.Name = "Form2";
frm.MdiParent = this;
frm.Show();