從一個窗體(主窗體)打開一個(only one) 另外一個的窗體(子窗體)的實現
父窗體
public partial class MainForm:Form
{
private void menuItem
{
ChildForm child
child
child
}
//
}
子窗體
public partial class ChildForm:Form
{
static ChildForm child;
Public static ChildForm Create()
{
if(child==null)
child=new ChildForm();
return Child;
}
}
F
這是為什麼呢??
這裡涉及到C#垃圾回收的問題
垃圾回收是
怎麼辦??
方法
途徑有二
方法一
修改子窗體的構造函數
public ChildForm()
{
//
this
}
然後事件Form_Disposed的處理函數
private void Form_Disposed(object sender
{
Child=null;
}
方法二
重寫ChildForm的OnClosed方法
Protected void OnClosed(EventArgs e)
{
base
child=null;
}
當然可能有其他的方法
From:http://tw.wingwit.com/Article/program/net/201311/12609.html