欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 使用 WinForm MDI 模式管理多個子窗體程序的詳細步驟

admin
2024年12月12日 8:43 本文熱度 199

前言

嗨,各位碼農們!今天我們要來聊聊如何在 C# 的 WinForms 應用程序中用 MDI(Multiple Document Interface)模式來優雅地管理多個子窗體。

如果你曾經對著一堆亂七八糟的窗體不知所措,或者想要讓你的應用程序看起來更專業一點,那么這篇文章就是為你準備的!

想象一下,當你打開一個應用,所有的子窗體都乖乖地呆在一個主窗口里面,是不是感覺棒極了?好了,廢話不多說,讓我們開始吧!

Step By Step 步驟

  1. 創建一個 WinForm 類型的項目

  2. 添加三個 Windows 窗體

    • FrmMain.cs(主窗體)
    • FrmTest1.cs(這倆是小弟,也就是子窗體)
    • FrmTest2.cs
  3. 打開 FrmMain 窗體設計器,修改以下屬性

    • Text: MDI 主窗體
    • Size: 1000,600
    • StartPosition: CenterScreen
    • IsMdiContainer: True(重要,將窗體設置為 MDI 容器
    • 其它屬性默認值即可
  4. 拖拽一個 MenuStrip 控件到 FrmMain 窗體設計器里,并將 MenuStrip 控件改名為 MenuFuns

  5. 在 FrmMain 窗體設計器里輸入兩個菜單項:

    • 打開窗體1,同時將菜單項改名為 menuOpenWin1
    • 打開窗體2,同時將菜單項改名為 menuOpenWin2
  6. 分別雙擊這兩個菜單項,自動生成菜單項的單擊事件,如:

    private void menuOpenWin1_Click(object sender, EventArgs e)
    {
     
    }

    private void menuOpenWin2_Click(object sender, EventArgs e)
    {
     
    }
  7. 在這兩個事件里寫上打開相應子窗體的代碼,最終代碼如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace MRHelper
    {
     public partial class FrmMain : Form
     {
      public FrmMain()
      {
       InitializeComponent();
      }

      private void menuOpenWin1_Click(object sender, EventArgs e)
      {
       var frm = new FrmTest1();   // 實例化子窗體
       frm.MdiParent = this;   // 讓子窗體知道它的老大是誰
       frm.MinimizeBox = false// 不要最小化按鈕 
       frm.MaximizeBox = false// 也不要最大化按鈕
       frm.StartPosition = FormStartPosition.CenterScreen; // 居中顯示
       frm.Show();     // 顯示子窗體
      }

      private void menuOpenWin2_Click(object sender, EventArgs e)
      {
       var frm = new FrmTest2();
       frm.MdiParent = this;
       frm.MinimizeBox = false;
       frm.MaximizeBox = false;
       frm.StartPosition = FormStartPosition.CenterScreen;
       frm.Show();
      }
     }
    }
  8. 打開 Program.cs 文件,設置啟動窗體為 FrmMain 窗體,如:

    Application.Run(new FrmMain());
  9. 至此,一切準備就緒,按 F5 或點擊運行按鈕,然后點擊菜單,就可以看到子窗體一個個乖乖地出現了!

總結

WinForm MDI 模式就像是窗體管理大師,讓多個子窗體井然有序地排列在一個主窗體之下,既美觀又實用,減少了視野中的混亂,在這個統一的界面里,用戶就能輕松上手,享受程序帶來的便利,各位小窗體還有機會共享主窗體的資源,真是個團寵。

當然,多個子窗體的管理也會帶來一些小挑戰,像是每個子窗體的生命周期管理,還有子窗體之間需要傳遞的參數、事件,若管理失當,可能導致代碼變得像戰場一樣亂七八糟,甚至引發內存泄漏的悲劇。

不過,別擔心,MDI 模式在適合多文檔處理的場景中絕對是一種強大的設計模式。在設計與實現時,只需綜合考慮業務流程邏輯,就能避免那些小小的 "安全隱患" 了。


該文章在 2024/12/13 9:31:10 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved