公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

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

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

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

前言

嗨,各位碼農們!今天我們要來聊聊如何在 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

主站蜘蛛池模板: 潮喷大喷水系列无码久久精品 | 精品国产区一区二区三区在线观看 | 精品国产高清免费第一区二区三区 | 国产成人精品实拍在线 | 精品国产免费人成电影在线观看 | 丰满少妇偷人51视频 | 国产丝袜二区在线播放 | 91精品国产高清久久 | 成人欧美日韩一区二区三区 | 91av视频在线免费观看 | h无码精品动漫在线观看 | 精品国产福利在线观看一区 | 精品亚洲国产成人a片在线鸭王 | 国产精品一区在线 | 国产日韩一区二区不卡视频 | 国产成a人亚洲精ⅴ品无码 国产成a人亚洲精ⅴ品无码性色 | 国产极品美女高潮无套app | 国产传媒果冻天美传媒 | 国产精品高清一区二区三区人妖 | 国产一区二区三区小说 | 国产一区二区三区精品视频 | 国产日韩欧美激情视频在线观看 | 精品国产免费一区二区三区五区 | 国产精品拍在线观看 | 东京热无码中文字幕电影 | 国产91蜜芽在线观看 | 国产精品一区二区久久 | 91av在线国 | 国产一级片内射视 | 国産精品久久久久久久 | 91一区二区三区久久国产乱 | 国产性感美女污污无 | 国产丝袜女 | 国产丰满美女a级毛片 | 国产精品亚洲片精品av | 18禁喷水流白浆自慰视噜噜噜 | 精品无码一区二区在线 | 丰满人妻无码aⅴ一区二区 丰满人妻系列无码专区 | 国产在线一区二区三区欧美 | 精品人妻一区二区三区曰产乱码 | 91精品在线免费视频 |