//调用方式 

var frm = new MyForm().Instance();

public static class ExFrm
{
static Dictionary<string, Form> forms = new Dictionary<string, Form>(); /// <summary>
/// 单例模式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="frm"></param>
/// <returns></returns>
public static T Instance<T>(this T frm) where T : Form
{
frm.FormClosed += (s, e) => frm.Dispose();
if (forms.ContainsKey(frm.Name) == false)
{
forms.Add(frm.Name, frm);
return frm;
}
if (forms[frm.Name].IsDisposed)
{
forms[frm.Name] = frm;
return frm;
}
frm.Close();
return forms[frm.Name] as T;
} }

最新文章

  1. hdu1520 树形dp Anniversary party
  2. ACM: 强化训练-百度之星-Problem C-字典树
  3. 在Mac上用自己编译出的DNX运行.NET程序
  4. ubuntu下取代ping的好工具tcpping
  5. 复杂领域的Cynefin模型和Stacey模型
  6. 复习C语言
  7. uvalive 3890 Most Distant Point from the Sea
  8. 【GDOI 2011 DAY2 T3】零什么的最讨厌了 (快速求阶乘、中国剩余定理)
  9. JSTL详解
  10. DevExpress中ChartControl柱状图(Bar)用法
  11. HTTP的报文格式解析
  12. 《java入门第一季》之正则表达式小案例
  13. Python中re的match、search、findall、finditer区别
  14. NIO相关
  15. kubernetes 学习资料
  16. 锯齿状优惠券css绘制
  17. Don&#39;t afraid point
  18. 使用VNC连接管理VPS
  19. aop 例外通知就是记录业务方法出现错误 并保存到日志里面的功能
  20. XSS攻击防御篇

热门文章

  1. CF94A Restoring Password 题解
  2. django信号机制 (每个操作前后django都预留了两个钩子,便于统一化添加功能)
  3. MySQLs数据库建外键时自动跑到缩影处,真奇怪
  4. Linux(Centos)安装中文字体库(文档中文字符不显示)
  5. C printf 字符串格式化
  6. 【LeetCode】42. Trapping Rain Water 接雨水 (C++)
  7. Leapin&#39; Lizards(hdu 2732)
  8. 『动善时』JMeter基础 — 58、JMeter分布式测试
  9. JavaScript交互式网页设计 • 【第2章 JavaScript函数与事件】
  10. 编写Java程序,使用Set实现不重复添加用户