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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Windows程序設(shè)計

第7章

窗體的高級應(yīng)用2本章目標(biāo)理解Windows應(yīng)用程序運行機制了解基本控件的常用屬性和支持的常用方法理解基于事件的編程方法掌握Windows應(yīng)用程序組成文件的作用掌握TreeView等高級控件的基本屬性和方法的使用掌握模式窗體和非模式窗體的區(qū)別和調(diào)用方式掌握多文檔界面的設(shè)計方法3授課內(nèi)容TreeView控件

單文檔應(yīng)用程序多文檔應(yīng)用程序模式窗體非模式窗體小結(jié)4TreeView樹視圖控件用于顯示層次結(jié)構(gòu)的信息每個節(jié)點都是一個TreeNode對象

TreeView對象構(gòu)造方法添加節(jié)點TreeNodesubNode=newTreeNode();treeView1.Nodes.Add(subNode)//添加指定的節(jié)點取消選定樹節(jié)點時的圖片索引TreeNodesubNode=newTreeNode(stringtext);TreeNode(stringtext,intimageIndex,intselectedImageIndex;選定樹節(jié)點時的圖片索引5TreeViewTreeNode對象的常用屬性FullPath:設(shè)置從根樹節(jié)點到當(dāng)前樹節(jié)點的路徑Index:獲取樹節(jié)點在樹節(jié)點集合中的位置IsExpanded:樹節(jié)點是否處于可展開狀態(tài)IsSelected:樹節(jié)點是否處于選定狀態(tài)Nodes:獲取分配給當(dāng)前樹節(jié)點的TreeNode對象的集合Parent:當(dāng)前樹節(jié)點的父樹節(jié)點PrevNode:上一個同級樹節(jié)點Text:樹節(jié)點標(biāo)簽中顯示的文本TreeView:樹節(jié)點分配到的父樹視圖6案例7添加根節(jié)點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é)點TreeNodeselectedNode=treeView1.SelectedNode;if(selectedNode==null){MessageBox.Show("請先選擇院系!");return;}TreeNodebjNode=newTreeNode(bj.Text,2,3);selectedNode.Nodes.Add(bjNode);selectedNode.Expand();treeView1.Select();展開選中節(jié)點激活樹視圖9刪除子節(jié)點TreeNodet=treeView1.SelectedNode;if(t==null){MessageBox.Show("請先選擇要刪除的節(jié)點!");return;}TreeNodeparent=t.Parent;if(parent==null)treeView1.Nodes.Remove(t);elseparent.Nodes.Remove(t);treeView1.Select();獲取選中節(jié)點的父節(jié)點選中節(jié)點為根節(jié)點獲取選中節(jié)點的子節(jié)點10模式窗體模式窗體模態(tài)對話框窗體打開時,只能對其進行相應(yīng)的操作,而不能轉(zhuǎn)而去操作應(yīng)用程序的其他功能,并且,鼠標(biāo)也不能點擊該窗體以外的當(dāng)前應(yīng)用程序的其他區(qū)域

顯示方法要作為模式窗體顯示的窗體名稱窗體名.ShowDialog()11非模式窗體非模式窗體非模式對話框窗體打開時,將始終顯示在當(dāng)前應(yīng)用程序窗體的最上層,此時,既可在該窗體中進行操作,也可離開它,操作程序的其他功能部分。

顯示和隱藏顯示:隱藏:關(guān)閉:窗體名.Show()窗體名.Hide()窗體名.Close()12基于單文檔的應(yīng)用程序單文檔的應(yīng)用程序SingleDocumentInterface一次僅支持打開一個窗口或文檔例如:記事本

13基于多文檔的應(yīng)用程序多文檔的應(yīng)用程序MultipleDocumentInterface一個應(yīng)用程序可以包含“父窗體”和“子窗體”例如:Word

父窗體和子窗體包含其它窗體的稱為父窗體,只能有一個子窗體可以多個,但只能有一個活動窗體父窗體一旦關(guān)閉,所有子窗體隨之自動關(guān)閉

14相關(guān)屬性父窗體屬性說明ActiveMdiChild表示當(dāng)前活動的MDI子窗體,如果當(dāng)前沒有子窗體,則返回nullIsMdiContainer獲取或設(shè)置一個值,該值指示窗體是否為多文檔界面(MDI)子窗體的容器,即MDI父窗體。值為true時,表示是父窗體,否則不是父窗體。MdiChildren以數(shù)組形式返回MDI子窗體,每個數(shù)組元素對應(yīng)一個MDI子窗體AllowSomePages獲取或設(shè)置一個值,該值指示是否啟用“頁”選項按鈕子窗體屬性說明IsMdiChild獲取或設(shè)置一個值,該值指示窗體是否為多文檔界面(MDI)的子窗體。值為true時,表示是子窗體,否則不是子窗體。MdiParent指定該子窗體的MDI父窗體15常用方法MDIForm.LayoutMdi(Value)

Value的取值:MdiLayout.ArrangeIcons:圖標(biāo)形式排列MdiLayout.Cascade:層疊MdiLayout.TileHorizontal

:水平平鋪MdiLayout.TileVertical:垂直平鋪遍歷子窗體foreach(

FormchildForminMdiChildren){

//代碼}16新建和打開

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è)置如何實現(xiàn)菜單的合并子菜單的MergeAction屬性Append//忽略匹配結(jié)果,將該項添加到集合末尾Insert//將該項添加到目標(biāo)集合前MatchOnly//要求匹配項,但不進行任何操作Remove//移除匹配項Replace//用源項替換匹配項如何實現(xiàn)數(shù)據(jù)的傳遞publicForm3(stringfilePath):this(){//通過這種方式在兩個窗體間直接傳遞數(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實驗一//獲得輸入的文本

stringimportText=answer13.Text;//在ComboBox集合中查找匹配的文本intindex=answer13.Find

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論