第7章+窗體的高級(jí)應(yīng)用-3(課件)-+《算法與程序設(shè)計(jì)-C#》同步教學(xué)(清華大學(xué)版)_第1頁(yè)
第7章+窗體的高級(jí)應(yīng)用-3(課件)-+《算法與程序設(shè)計(jì)-C#》同步教學(xué)(清華大學(xué)版)_第2頁(yè)
第7章+窗體的高級(jí)應(yīng)用-3(課件)-+《算法與程序設(shè)計(jì)-C#》同步教學(xué)(清華大學(xué)版)_第3頁(yè)
第7章+窗體的高級(jí)應(yīng)用-3(課件)-+《算法與程序設(shè)計(jì)-C#》同步教學(xué)(清華大學(xué)版)_第4頁(yè)
第7章+窗體的高級(jí)應(yīng)用-3(課件)-+《算法與程序設(shè)計(jì)-C#》同步教學(xué)(清華大學(xué)版)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論