MDI窗體 的再度思考

2021-06-19 20:59:41 字數 1914 閱讀 2986

早在敲學生管理系統的時候,青山師哥就跟我說過  mdi 窗體 跟 子窗體的事情,當時只是簡單的查詢、小小的用了一下,沒有太在意、

當再次面對著這個東西更深層的時候才想起師哥那句話、「好好研究一下這個東西吧,以後會經常用的。」,這下記住了,學長的話一定要好好的聽、好好的實踐...

mdi多窗體程式由mdi主窗體與mdi子窗體組成。通常在主窗體內設計下拉式選單或工具欄,執行選單項命令或者工具欄中按鈕命令時呼叫子窗體程式,被開啟的子窗體介面將被限制在主窗體的使用者工作區內。下面依次介紹建立mdi主窗體與子窗體的方法,及在主窗體內呼叫子窗體程式的方法。

一、建立mdi主窗體

1、建立mdi主窗體

(1)執行選單命令:工程 | 新增mdi窗體,出現「新增mdi窗體」對話方塊。

(2)選擇「新建」或使用「現存」窗體,單擊「開啟」按鈕後出現mdi主窗體介面。

2、將mdi主窗體設為工程的啟動窗體

(1)執行選單命令:工程 | 工程屬性,出現工程屬性對話方塊。

(2)在對話方塊的通用選項卡中單擊啟動物件下拉按鈕,選擇mdi窗體名,則mdi窗體成為啟動視窗。

注意:乙個應用程式只能有乙個mdi窗體,如果工程已經有了乙個mdi窗體,則該工程選單上的新增mdi窗體命令就不可使用。    

二、建立mdi子窗體

1、建立mdi子窗體的方法

(1)工程中建立乙個新的普通窗體;

(2)將mdichild屬性設為true。

2、mdi窗體執行時的特性

(1)所有子窗體都顯示在mdi窗體的工作空間內。

(2)當最小化乙個子窗體時,它的圖示將顯示在mdi窗體上而不是工作列中。

(3)當最大化乙個子窗體時,它的標題會與mdi窗體的標題組合在一起並顯示於mdi標題欄上。

(4)通過設定autoshowchildren屬性,子窗體可以在窗體載入時自動顯示或自動隱藏。

(5)活動子窗體的選單(若有)將顯示在mdi窗體的選單欄中,而不是顯示在子窗體中。

三、mdi視窗選單設計

所謂「視窗」選單是指專門用於顯示已開啟子窗體的標題名稱,並能對已開啟子窗體進行「層疊」、「平鋪」、「垂直」與「排列圖示」等項操作的選單項。

1、建立「視窗」選單項

當某個選單項的「顯示視窗列表」核取方塊有效時(即 windowslist=true),所有已開啟子窗體的標題名稱將出現在該選單項的下方。

2、「視窗」一級子選單項的設計

在選單編輯器中,給mdi「視窗」選單新增「層疊」、「平鋪」、「垂直」與「排列」四個一級子選單項。然後使用mdi窗體的arrange方法實現「層疊」、「平鋪」、「垂直」與「排列」的功能。

arrange方法的語法:《窗體名》.arrange( 實參 )

如果是在學習的初步,可以更形象的理解為 mdi其實就可以理解成是老爸和兒子的關係,兒子總是聽老子的話,子窗體不能超出父窗體,無論怎麼移動都只能在父窗體裡面!大小、縮放等..

聰明人、是拿別人撞得頭破血流得來的經驗來充實自己、公尺老師的話要聽、師哥的話也要聽啊.....

MDI窗體設計

1.mdi窗體設計 乙個父體中包含幾個子窗體,子窗體共同顯示。2.屬性 ismdicontener 是否將當前窗體設定為父窗體,預設為false 3.設計步驟 1 首先將當前窗體a設定為父窗體 2 通過乙個選單控制項,建立子窗體物件 3 將子窗體的父窗體設定為窗體a 4.方法layou i 給子視窗...

MDI窗體容器

mdi窗體容器 一般來說,窗體是頂級容器,不允許放在其他任何容器內,但是如果將某個窗體的ismdicontainer屬性設定為true,那此窗體就會成為窗體容器,可以在其中放入其他窗體 在內部的窗體不管怎麼調整,是無法跳出其父級窗體容器的 注 如果想讓內部窗體一直最大化並且不要其顯示最大化最小化按鈕...

設定MDI窗體,設定MDI背景

1 設定父窗體的ismdicontainer true 2 frmtest childform new frmtest childform.mdiparent this childform.windowstate formwindowstate.maximized childform.control...