資源描述:
《C#創(chuàng)建多文檔視圖多窗口》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、在網(wǎng)上查了一些資料,發(fā)現(xiàn)介紹C#創(chuàng)建多文檔視圖的文章少,而且說得都比較雜,所以自己將這些天學(xué)習(xí)的結(jié)果整理出來,分享一下,希望對(duì)那些剛開始接觸使用C#創(chuàng)建多文檔的人有所幫助1.如何創(chuàng)建多文檔界面????通過C#創(chuàng)建一個(gè)Window窗體后,在窗體的屬性那里,把其中的IsMdiContainer屬性設(shè)置為True,就能看到窗體已經(jīng)變成MDI形式了2.為什么在MDI窗體上的客戶區(qū)無法響應(yīng)鼠標(biāo)消息????這是因?yàn)閷⒋绑w設(shè)置為MDI窗體后,VS會(huì)自動(dòng)給添加一個(gè)MdiClient的容器,所有在客戶區(qū)的操作都是在這個(gè)容器上面的,要想能響應(yīng)相?????應(yīng)的鼠標(biāo)操作,就必須將響應(yīng)鼠標(biāo)事件的
2、函數(shù)掛載到MdiClient容器上,可以按照下面的方式進(jìn)行掛載viewplaincopytoclipboardprint?1.for?(int?i?=?0;?i?
3、ows.Forms.MouseEventHandler(ClientMdi_MouseMove);??7.???????????????ClientMdi.BackColor?=?Color.FromArgb(214,?213,?215);??8.?????????}??9.?????}??10.??11.???12.??13.?????private?void?ClientMdi_MouseMove(object?sender,?MouseEventArgs?e)??14.?????{??15.??16.??????????.............?????????
4、????17.?????}??3.如何在客戶區(qū)創(chuàng)建窗體????將子窗體的MdiParent屬性設(shè)置為MDI窗體即可????viewplaincopytoclipboardprint?1.Form??form1?=?new?Form();??1.??2.????Form??form2?=?new?Form();??3.??4.???5.??6.????form2.MdiParent?=?this;(表示的就是form1)??7.??8.????form2.show();??4.如何攔截鼠標(biāo)雙擊標(biāo)題欄的消息????viewplaincopytoclipboardprint?
5、1.protected?override?void?WndProc(ref?Message?m)??2.????{?????????????????????3.????????????base.WndProc(ref?m);??4.??5.????????????//可以處理標(biāo)題欄上的鼠標(biāo)雙擊事件??6.????????????if?(m.Msg?==?0x00A3)??7.????????????{??8.??9.??????????????????..........??10.??11.????????????}??12.??13.????}??14.??15.??
6、??5.如何處理點(diǎn)擊標(biāo)題欄上窗體最大化的消息????重載窗體的OnResiz()函數(shù)6.如何讓客戶區(qū)中顯示的窗體的位置在指定位置?????viewplaincopytoclipboardprint?1.Form??form1?=?new?form1();??//父窗體??2.??3.????Form??form2?=?new?form2();??//子窗體??4.??1.??????2.??3.????form2.StartPosition?=?FormStartPosition.Manual;??4.??5.????form2.Bounds?=?new?System.
7、Drawing.Rectangle(left,?top,?width,?height);??大家有什么問題,可以留言交流哈,還請(qǐng)高手指教