




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Windows程序設(shè)計(jì)
第7章
窗體的高級(jí)應(yīng)用2本章目標(biāo)理解Windows應(yīng)用程序運(yùn)行機(jī)制了解基本控件的常用屬性和支持的常用方法理解基于事件的編程方法掌握Windows應(yīng)用程序組成文件的作用掌握TreeView等高級(jí)控件的基本屬性和方法的使用掌握模式窗體和非模式窗體的區(qū)別和調(diào)用方式掌握多文檔界面的設(shè)計(jì)方法3授課內(nèi)容TreeView控件
單文檔應(yīng)用程序多文檔應(yīng)用程序模式窗體非模式窗體小結(jié)4TreeView樹(shù)視圖控件用于顯示層次結(jié)構(gòu)的信息每個(gè)節(jié)點(diǎn)都是一個(gè)TreeNode對(duì)象
TreeView對(duì)象構(gòu)造方法添加節(jié)點(diǎn)TreeNodesubNode=newTreeNode();treeView1.Nodes.Add(subNode)//添加指定的節(jié)點(diǎn)取消選定樹(shù)節(jié)點(diǎn)時(shí)的圖片索引TreeNodesubNode=newTreeNode(stringtext);TreeNode(stringtext,intimageIndex,intselectedImageIndex;選定樹(shù)節(jié)點(diǎn)時(shí)的圖片索引5TreeViewTreeNode對(duì)象的常用屬性FullPath:設(shè)置從根樹(shù)節(jié)點(diǎn)到當(dāng)前樹(shù)節(jié)點(diǎn)的路徑Index:獲取樹(shù)節(jié)點(diǎn)在樹(shù)節(jié)點(diǎn)集合中的位置IsExpanded:樹(shù)節(jié)點(diǎn)是否處于可展開(kāi)狀態(tài)IsSelected:樹(shù)節(jié)點(diǎn)是否處于選定狀態(tài)Nodes:獲取分配給當(dāng)前樹(shù)節(jié)點(diǎn)的TreeNode對(duì)象的集合Parent:當(dāng)前樹(shù)節(jié)點(diǎn)的父樹(shù)節(jié)點(diǎn)PrevNode:上一個(gè)同級(jí)樹(shù)節(jié)點(diǎn)Text:樹(shù)節(jié)點(diǎn)標(biāo)簽中顯示的文本TreeView:樹(shù)節(jié)點(diǎn)分配到的父樹(shù)視圖6案例7添加根節(jié)點(diǎn)TreeNodenewNode=newTreeNode(xy.Text,0,1);if(treeView1.Nodes.Count>0){foreach(TreeNodetintreeView1.Nodes){if(t.Text==xy.Text){MessageBox.Show("該學(xué)院已經(jīng)存在,不能添加!");return;}}}treeView1.Nodes.Add(newNode);8添加子節(jié)點(diǎn)TreeNodeselectedNode=treeView1.SelectedNode;if(selectedNode==null){MessageBox.Show("請(qǐng)先選擇院系!");return;}TreeNodebjNode=newTreeNode(bj.Text,2,3);selectedNode.Nodes.Add(bjNode);selectedNode.Expand();treeView1.Select();展開(kāi)選中節(jié)點(diǎn)激活樹(shù)視圖9刪除子節(jié)點(diǎn)TreeNodet=treeView1.SelectedNode;if(t==null){MessageBox.Show("請(qǐng)先選擇要?jiǎng)h除的節(jié)點(diǎn)!");return;}TreeNodeparent=t.Parent;if(parent==null)treeView1.Nodes.Remove(t);elseparent.Nodes.Remove(t);treeView1.Select();獲取選中節(jié)點(diǎn)的父節(jié)點(diǎn)選中節(jié)點(diǎn)為根節(jié)點(diǎn)獲取選中節(jié)點(diǎn)的子節(jié)點(diǎn)10模式窗體模式窗體模態(tài)對(duì)話框窗體打開(kāi)時(shí),只能對(duì)其進(jìn)行相應(yīng)的操作,而不能轉(zhuǎn)而去操作應(yīng)用程序的其他功能,并且,鼠標(biāo)也不能點(diǎn)擊該窗體以外的當(dāng)前應(yīng)用程序的其他區(qū)域
顯示方法要作為模式窗體顯示的窗體名稱窗體名.ShowDialog()11非模式窗體非模式窗體非模式對(duì)話框窗體打開(kāi)時(shí),將始終顯示在當(dāng)前應(yīng)用程序窗體的最上層,此時(shí),既可在該窗體中進(jìn)行操作,也可離開(kāi)它,操作程序的其他功能部分。
顯示和隱藏顯示:隱藏:關(guān)閉:窗體名.Show()窗體名.Hide()窗體名.Close()12基于單文檔的應(yīng)用程序單文檔的應(yīng)用程序SingleDocumentInterface一次僅支持打開(kāi)一個(gè)窗口或文檔例如:記事本
13基于多文檔的應(yīng)用程序多文檔的應(yīng)用程序MultipleDocumentInterface一個(gè)應(yīng)用程序可以包含“父窗體”和“子窗體”例如:Word
父窗體和子窗體包含其它窗體的稱為父窗體,只能有一個(gè)子窗體可以多個(gè),但只能有一個(gè)活動(dòng)窗體父窗體一旦關(guān)閉,所有子窗體隨之自動(dòng)關(guān)閉
14相關(guān)屬性父窗體屬性說(shuō)明ActiveMdiChild表示當(dāng)前活動(dòng)的MDI子窗體,如果當(dāng)前沒(méi)有子窗體,則返回nullIsMdiContainer獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)子窗體的容器,即MDI父窗體。值為true時(shí),表示是父窗體,否則不是父窗體。MdiChildren以數(shù)組形式返回MDI子窗體,每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)MDI子窗體AllowSomePages獲取或設(shè)置一個(gè)值,該值指示是否啟用“頁(yè)”選項(xiàng)按鈕子窗體屬性說(shuō)明IsMdiChild獲取或設(shè)置一個(gè)值,該值指示窗體是否為多文檔界面(MDI)的子窗體。值為true時(shí),表示是子窗體,否則不是子窗體。MdiParent指定該子窗體的MDI父窗體15常用方法MDIForm.LayoutMdi(Value)
Value的取值:MdiLayout.ArrangeIcons:圖標(biāo)形式排列MdiLayout.Cascade:層疊MdiLayout.TileHorizontal
:水平平鋪MdiLayout.TileVertical:垂直平鋪遍歷子窗體foreach(
FormchildForminMdiChildren){
//代碼}16新建和打開(kāi)
Form3childForm=newForm3();childForm.Text="新建文檔.txt*";childForm.MdiParent=this;childForm.Show();設(shè)置父窗體為當(dāng)前窗體
openFileDialog1.Filter="文本文檔|*.txt|所有文檔|*.*";DialogResultdr=openFileDialog1.ShowDialog();if(dr==DialogResult.OK){Form3childForm=newForm3(openFileDialog1.FileName);childForm.MdiParent=this;childForm.Show();}調(diào)用重載的構(gòu)造函數(shù)17子窗體的設(shè)置如何實(shí)現(xiàn)菜單的合并子菜單的MergeAction屬性Append//忽略匹配結(jié)果,將該項(xiàng)添加到集合末尾Insert//將該項(xiàng)添加到目標(biāo)集合前MatchOnly//要求匹配項(xiàng),但不進(jìn)行任何操作Remove//移除匹配項(xiàng)Replace//用源項(xiàng)替換匹配項(xiàng)如何實(shí)現(xiàn)數(shù)據(jù)的傳遞publicForm3(stringfilePath):this(){//通過(guò)這種方式在兩個(gè)窗體間直接傳遞數(shù)據(jù)
richTextBox1.LoadFile(
filePath,
RichTextBoxStreamType.PlainText);this.Text=filePath;}18設(shè)置布局
this.LayoutMdi(
MdiLayout.TileVertical
);foreach(
FormchildForminthis.MdiChildren
)childForm.WindowState=FormWindowState.Minimized;子窗體的布局遍歷子窗體19富文本框的復(fù)制和粘貼richTextBox1.Copy();richTextBox1.Paste();復(fù)制粘貼20實(shí)驗(yàn)一//獲得輸入的文本
stringimportText=answer13.Text;//在ComboBox集合中查找匹配的文本intindex=answer13.Find
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年MySQL審核流程試題及答案
- 譫妄的觀察及護(hù)理
- 半金屬汽車剎車材料項(xiàng)目效益評(píng)估報(bào)告
- 非營(yíng)利組織志愿者招募培訓(xùn)計(jì)劃
- 企業(yè)年度人力資源配置計(jì)劃
- 工業(yè)廠房監(jiān)理工作總結(jié)報(bào)告范文
- 失蹤者財(cái)產(chǎn)清算與分配執(zhí)行協(xié)議
- 影視外景電力供應(yīng)與安全保障協(xié)議
- 學(xué)校體育教育改革小組及職責(zé)
- 固廢無(wú)害化處理設(shè)施運(yùn)行管理補(bǔ)充協(xié)議
- (高清版)DG∕TJ 08-7-2021 建筑工程交通設(shè)計(jì)及停車庫(kù)(場(chǎng))設(shè)置標(biāo)準(zhǔn)
- 無(wú)房無(wú)車離婚協(xié)議書(shū)
- 南師附中高三數(shù)學(xué)備忘錄及答案詳解
- 2025-2030年中國(guó)甲巰咪唑片行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 史明清時(shí)期社會(huì)經(jīng)濟(jì)的發(fā)展課件++2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2025年安徽國(guó)控資產(chǎn)管理有限公司第二季度社會(huì)招聘5人筆試參考題庫(kù)附帶答案詳解
- 2025中考語(yǔ)文7-9年級(jí)總復(fù)習(xí)古詩(shī)詞默寫(xiě)
- 國(guó)家職業(yè)標(biāo)準(zhǔn) 4-11-01-01 供電服務(wù)員 (2025年版)
- 中國(guó)特色社會(huì)主義+綜合練習(xí)(三)-2025屆中職高考政治一輪復(fù)習(xí)高教版(2023版)
- 情境+任務(wù)驅(qū)動(dòng)作文(兼審“情境”與“任務(wù)”)-2024年中考語(yǔ)文重難點(diǎn)復(fù)習(xí)專練(江蘇)學(xué)生版
- (二模)臨沂市2025年高三高考模擬考試地理試題卷(含答案)
評(píng)論
0/150
提交評(píng)論