早在敲學生管理系統的時候,青山師哥就跟我說過 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...