欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#設置MDI子窗體只能彈出一個的方法

 更新時間:2014年08月19日 08:51:08   投稿:shichen2014  
這篇文章主要介紹了C#設置MDI子窗體只能彈出一個的方法,很實用的技巧,需要的朋友可以參考下

Windows程序設計中的MDI(Multiple Document Interface)官方解釋就是所謂的多文檔界面,與此對應就有單文檔界面 (SDI), 它是微軟公司從Windows 2.0下的Microsoft Excel電子表格程序開始引入的,Excel電子表格用戶有時需要同時操作多份表格,MDI正好為這種操作多表格提供了很大的方便,于是就產生了MDI程序。

新建一個WindowForm程序。得到一個窗體作為我們父窗體Parent。拖入一個menustrip空間。在新建一個窗體FrmChildren作為我們子窗體,界面如下圖所示:

其代碼如下所示:

public Form1()
{
  InitializeComponent();
  //將Form1設置為MDI窗體,當然在Form1的IsMdiContainer屬性頁可以設置
  this.IsMdiContainer = true;
}

在menustrip打開子窗體的事件代碼如下:

private void tsmiOpenWindow_Click(object sender, EventArgs e)
{  
  FrmChildren child = FrmChildren.GetWindow();//調用方法
  child.MdiParent = this;//設置child的父窗體為當前窗體
  child.Show();
  
}

GetWindow()這個方法在哪里呢。當然是在FrmChildren子窗體里面寫

 public partial class FrmChildren : Form
  {
    private FrmChildren() //由 public FrmChildren改為 private FrmChildren
    {
      InitializeComponent();
    }
    static FrmChildren fc = null; 創(chuàng)建一個靜態(tài)對象
    public static FrmChildren GetWindow()
    {  //當子窗體沒有開啟或者已經釋放。就可以創(chuàng)建新窗體
      if (fc==null||fc.IsDisposed)
      {
        fc = new FrmChildren();
      }
      return fc;
    }
  }

第二種方法:

這種方法個人覺得很簡單。直接在在menustrip打開子窗體的事件下面寫就ok了

private void tsmiOpenWindow_Click(object sender, EventArgs e)
{ 

#region 方法二Application收集打開的窗體,用索引器來尋找,就是窗體的Name屬性
//方法二.如果沒有Name為FrmChildren的子船體,實例化創(chuàng)建。和之前的正規(guī)做法沒有什么差別,只是多了判斷。
if (Application.OpenForms["FrmChildren"] == null)
{
FrmChildren child = new FrmChildren();
child.MdiParent = this;
child.Show();
}
else//有Name為FrmChildren的子船體,就直接show()
{
Application.OpenForms["FrmChildren"].Show();
}
#endregion
}

感興趣的朋友可以調試運行一下本文所述示例,相信會有不小的收獲。

相關文章

  • 使用windows控制臺調試服務的方法

    使用windows控制臺調試服務的方法

    這篇文章主要介紹了使用windows控制臺調試服務的方法,需要的朋友可以參考下
    2014-02-02
  • C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例

    C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例

    這篇文章主要介紹了C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例,LINQ to XML是.NET框架中集成的接口,可以將XML數(shù)據(jù)放到內存中進行處理,需要的朋友可以參考下
    2016-03-03
  • C#操作Access通用類實例

    C#操作Access通用類實例

    這篇文章主要介紹了C#操作Access通用類,實例分析了C#操作access的各種常見技巧,非常具有實用價值,需要的朋友可以參考下
    2015-06-06
  • C#泛型概念的簡介與泛型的使用

    C#泛型概念的簡介與泛型的使用

    今天小編就為大家分享一篇關于C#泛型概念的簡介與泛型的使用,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#實現(xiàn)系統(tǒng)桌面右下角彈框

    C#實現(xiàn)系統(tǒng)桌面右下角彈框

    這篇文章主要為大家詳細介紹了C#如何實現(xiàn)系統(tǒng)桌面右下角彈框,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • Unity時間戳的使用方法

    Unity時間戳的使用方法

    這篇文章主要為大家詳細介紹了Unity時間戳的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • c# 文件壓縮zip或將zip文件解壓的方法

    c# 文件壓縮zip或將zip文件解壓的方法

    下面小編就為大家分享一篇c# 文件壓縮zip或將zip文件解壓的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • winform把Office轉成PDF文件

    winform把Office轉成PDF文件

    這篇文章介紹了winform把Office轉成PDF文件的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法

    DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法

    這篇文章主要介紹了DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法,需要的朋友可以參考下
    2014-08-08
  • C#接口INotifyPropertyChanged使用方法

    C#接口INotifyPropertyChanged使用方法

    這篇文章介紹了C#接口INotifyPropertyChanged的使用方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01

最新評論