public class SingleTon<T> where T : Form ,new() { private static T instance; static SingleTon() { { if (instance == null) { instance = new T(); } } } public static T Instance { get { { //如果对象为空,重新生成 if (instance == null) { instance = new T(); } instance.Disposed += new EventHandler(instance_Disposed); return instance; } } } /// <summary> /// 如果释放资源,也要释放此类中的对象(在此类中) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> static void instance_Disposed(object sender, EventArgs e) { instance = null; }