国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

WinForm單例窗體用法實例

2020-01-24 01:03:17
字體:
來源:轉載
供稿:網友

本文實例講述了WinForm單例窗體。分享給大家供大家參考,具體如下:

using System;using System.Collections.Generic;using System.Windows.Forms;using System.Text;namespace Common{  /// <summary>  /// 窗體的單例模式  /// </summary>  /// <typeparam name="T"></typeparam>  public class FormSingle<T> where T : Form, new()  {    private static T form;    private static IList<T> list { get; set; }    public static T GetForm(T t1)    {      //檢查是否存在窗體      if (!IsExist(t1))      {        CreateNewForm(t1);      }      return form;    }    /// <summary>釋放對象    /// </summary>    /// <param name="obj"></param>    /// <param name="args"></param>    private static void Display(object obj, FormClosedEventArgs args)    {      form = null;      list.Remove(form);    }    /// <summary>創建新窗體    /// </summary>    private static void CreateNewForm(T t1)    {      form = t1;      form.FormClosed += new FormClosedEventHandler(Display);//訂閱窗體的關閉事件,釋放對象    }    /// <summary>    /// 是否存在該窗體    /// </summary>    /// <param name="T1"></param>    /// <returns></returns>    private static bool IsExist(T T1)    {      if (list == null)      {        list=new List<T>();        list.Add(T1);        return false;      }      //如果窗體的文本相同則認為是同一個窗體      foreach (var t in list)      {        if (t.Text == T1.Text)          return true;      }      list.Add(T1);      return false;    }  }}

調用如下:

不帶參數的構造函數

Customer.AddCustomer customer = Common.FormSingle<Customer.AddCustomer>.GetForm(new Customer.AddCustomer());customer.MdiParent = this;//Mdi窗體customer.WindowState = FormWindowState.Maximized;//最大化customer.Show();customer.Activate();

帶參數的構造函數

Customer.AddCustomer customer = Common.FormSingle<Customer.AddCustomer>.GetForm(new Customer.AddCustomer(customerid));customer.MdiParent = this;customer.WindowState = FormWindowState.Maximized;customer.Show();customer.Activate();

更多關于C#相關內容感興趣的讀者可查看本站專題:《WinForm控件用法總結》、《C#窗體操作技巧匯總》、《C#常見控件用法教程》、《C#程序設計之線程使用技巧總結》、《C#操作Excel技巧總結》、《C#中XML文件操作技巧匯總》、《C#數據結構與算法教程》、《C#數組操作技巧總結》及《C#面向對象程序設計入門教程

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 礼泉县| 冕宁县| 东光县| 渑池县| 达孜县| 中山市| 嘉祥县| 怀化市| 读书| 盐城市| 达孜县| 临邑县| 汨罗市| 常宁市| 稷山县| 吴桥县| 墨脱县| 璧山县| 肥乡县| 徐汇区| 东阳市| 新龙县| 克山县| 永川市| 汾阳市| 多伦县| 临沧市| 清水县| 朔州市| 辰溪县| 建湖县| 四平市| 黄石市| 安龙县| 双江| 吴桥县| 怀仁县| 屏东县| 怀仁县| 山丹县| 瓮安县|