Winfrom统一单例窗口
2024-09-04 23:32:49
//调用方式 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;
} }
最新文章
- hdu1520 树形dp Anniversary party
- ACM: 强化训练-百度之星-Problem C-字典树
- 在Mac上用自己编译出的DNX运行.NET程序
- ubuntu下取代ping的好工具tcpping
- 复杂领域的Cynefin模型和Stacey模型
- 复习C语言
- uvalive 3890 Most Distant Point from the Sea
- 【GDOI 2011 DAY2 T3】零什么的最讨厌了 (快速求阶乘、中国剩余定理)
- JSTL详解
- DevExpress中ChartControl柱状图(Bar)用法
- HTTP的报文格式解析
- 《java入门第一季》之正则表达式小案例
- Python中re的match、search、findall、finditer区别
- NIO相关
- kubernetes 学习资料
- 锯齿状优惠券css绘制
- Don&#39;t afraid point
- 使用VNC连接管理VPS
- aop 例外通知就是记录业务方法出现错误 并保存到日志里面的功能
- XSS攻击防御篇
热门文章
- CF94A Restoring Password 题解
- django信号机制 (每个操作前后django都预留了两个钩子,便于统一化添加功能)
- MySQLs数据库建外键时自动跑到缩影处,真奇怪
- Linux(Centos)安装中文字体库(文档中文字符不显示)
- C printf 字符串格式化
- 【LeetCode】42. Trapping Rain Water 接雨水 (C++)
- Leapin&#39; Lizards(hdu 2732)
- 『动善时』JMeter基础 — 58、JMeter分布式测试
- JavaScript交互式网页设计 • 【第2章 JavaScript函数与事件】
- 编写Java程序,使用Set实现不重复添加用户