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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Windows程序設計

第7章

窗體的高級應用2本章目標理解Windows應用程序運行機制了解基本控件的常用屬性和支持的常用方法理解基于事件的編程方法掌握Windows應用程序組成文件的作用掌握TreeView等高級控件的基本屬性和方法的使用掌握模式窗體和非模式窗體的區別和調用方式掌握多文檔界面的設計方法3授課內容TreeView控件

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

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

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

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

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

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

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

Value的取值:MdiLayout.ArrangeIcons:圖標形式排列MdiLayout.Cascade:層疊MdiLayout.TileHorizontal

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

FormchildForminMdiChildren){

//代碼}16新建和打開

Form3childForm=newForm3();childForm.Text="新建文檔.txt*";childForm.MdiParent=this;childForm.Show();設置父窗體為當前窗體

openFileDialog1.Filter="文本文檔|*.txt|所有文檔|*.*";DialogResultdr=openFileDialog1.ShowDialog();if(dr==DialogResult.OK){Form3childForm=newForm3(openFileDialog1.FileName);childForm.MdiParent=this;childForm.Show();}調用重載的構造函數17子窗體的設置如何實現菜單的合并子菜單的MergeAction屬性Append//忽略匹配結果,將該項添加到集合末尾Insert//將該項添加到目標集合前MatchOnly//要求匹配項,但不進行任何操作Remove//移除匹配項Replace//用源項替換匹配項如何實現數據的傳遞publicForm3(stringfilePath):this(){//通過這種方式在兩個窗體間直接傳遞數據

richTextBox1.LoadFile(

filePath,

RichTextBoxStreamType.PlainText);this.Text=filePath;}18設置布局

this.LayoutMdi(

MdiLayout.TileVertical

);foreach(

FormchildForminthis.MdiChildren

)childForm.WindowState=FormWindowState.Minimized;子窗體的布局遍歷子窗體19富文本框的復制和粘貼richTextBox1.Copy();richTextBox1.Paste();復制粘貼20實驗一//獲得輸入的文本

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

溫馨提示

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

評論

0/150

提交評論