类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
Form1启动了Form2如何关闭Form2?要从Form2里面关闭,即Form2自己关闭自己。
我的代码是:
frmUpdater fu = new frmUpdater();
fu.ShowDialog();
我在启动的Form2中,使用了this.close(),但是这就把所有窗体都关闭了,奇怪。
怎么解决呢?
网友回答:
在Form1中:
Form2 f2=new Form2();
f2.OneForm = this;//OneForm为在Form2中定义的一个public Form1类型的属性或变量,this指Form1的当前实例
f2.Show();
this.Hide()=false;
在Form2中:
private Form1 m_form;
public Form1 OneForm
{
get
{
return m_form;
}
set
{
m_form=value;
}
}
Form2关闭事件中:
if(m_form != null)
{
m_form.Show();
m_form.Activate();
}
.net会自动清扫垃圾,通常不用关心无用对象的释放问题,如果必须人工释放Form2,可以将其申明为Form2:IDispose(好像是吧,记不清了),最终用Form2.Dispose()释放对象。