单例模式,保证一个类仅有一个类仅有一个实例,并提供访问它的全局访问点。
在学生上机的主页面上,如果多次点击充值页面就会页面“超生”,产生很多的窗体。
这里就可以用到单例模式了。怎么用呢?在充值页面定义一个静态变量。并且判断是否有实例化。
private static register from1=null;//声明静态变量
public static register registerform()
{
if (from1 == null)
{
from1 = new register();
}
if (from1.IsDisposed)
{
from1 = new register();
}
return from1;
}
点击主窗体的充值时。在加入这句话。
register from = register.registerform();
from.Show();
SetParent((int)from.Handle, (int)this.Handle);
声明变量from,接收实例化。调用register的方法,registerform。如果没有充值页面,就会返回一个实例,被from接收,反之from就为空了,from.show();也就起不了作用了。
这样就只会显示一个窗体了。