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

首頁 > 編程 > C# > 正文

WinForm單例窗體用法實例

2019-10-29 21:24:26
字體:
來源:轉載
供稿:網友

本文實例講述了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#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通渭县| 巴里| 南投市| 灵丘县| 马龙县| 漳平市| 当阳市| 武胜县| 乌兰察布市| 长垣县| 洛南县| 夏河县| 晋城| 民乐县| 清水河县| 乌兰县| 凤凰县| 达州市| 辽阳市| 广河县| 寿光市| 锡林浩特市| 达孜县| 灵石县| 沅陵县| 太白县| 赤壁市| 冕宁县| 凤山县| 黔西县| 正蓝旗| 安顺市| 宝清县| 吴桥县| 芦山县| 贡觉县| 双桥区| 咸阳市| 凭祥市| 潼南县| 乐清市|