今天突然在开发中需要实现MDI子窗体的单一实例,在网上搜索了一下,发现很多都是一种的实现方法<<MDI窗体程式中防止子窗体被多次实例化>>,具体方法是在父窗体中定义一个变量来存储子窗体的对象,通过一个函数来返回子窗体对象的唯一实例。这种实现方法有个不利的地方就是有多少个子窗体就要在父窗体类中定义多少变量。我的实现方法如下
public partial class frmUserManagement : Form
{
protected frmUserManagement(){.......}
protected static frmUserManagement _Instance;
public static frmUserManagement CreateInstance()
{
if (_Instance == null || _Instance.IsDisposed)
{
_Instance = new frmUserManagement();
}
return _Instance;
}
..................
}