Windows高級(jí)界面設(shè)計(jì).ppt_第1頁(yè)
Windows高級(jí)界面設(shè)計(jì).ppt_第2頁(yè)
Windows高級(jí)界面設(shè)計(jì).ppt_第3頁(yè)
Windows高級(jí)界面設(shè)計(jì).ppt_第4頁(yè)
Windows高級(jí)界面設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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)介

1、第10章 Windows高級(jí)界面設(shè)計(jì),本章要點(diǎn): 標(biāo)準(zhǔn)對(duì)話框的使用 菜單的制作方法 工具欄的制作方法 狀態(tài)欄的制作方法 MDI應(yīng)用程序的編制方法 鼠標(biāo)事件與鍵盤事件編程,10.1 循序漸進(jìn)學(xué)理論,10.1.1 對(duì)話框控件的應(yīng)用 1OpenFileDialog控件 (1)OpenFileDialog控件的常用屬性 Title屬性:該屬性用來(lái)獲取或設(shè)置對(duì)話框標(biāo)題,默認(rèn)值為空字符串(“”)。 Filter屬性:該屬性用來(lái)獲取或設(shè)置當(dāng)前文件名篩選器字符串,該字符串決定對(duì)話框的【另存為文件類型】或【文件類型】框中出現(xiàn)的選擇內(nèi)容。 FilterIndex屬性:該屬性用來(lái)獲取或設(shè)置文件對(duì)話框中當(dāng)前選定篩選器

2、的索引。, FileName屬性:該屬性用來(lái)獲取包含在打開文件對(duì)話框中選定的文件名的字符串。 InitialDirectory屬性:該屬性用來(lái)獲取或設(shè)置文件對(duì)話框顯示的初始目錄,默認(rèn)值為空字符串()。 ShowReadOnly屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含只讀復(fù)選框。 ReadOnlyChecked屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否選定只讀復(fù)選框。 Multiselect屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否允許選擇多個(gè)文件。 FileNames屬性:該屬性用來(lái)獲取對(duì)話框中所有選定文件的文件名。每個(gè)文件名都既包含文件路徑又包含文件擴(kuò)展名。 R

3、estoreDirectory屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框在關(guān)閉前是否還原當(dāng)前目錄。,(2)OpenFileDialog控件的常用方法,常用方法有兩個(gè)OpenFile和ShowDialog 方法,本節(jié)只介紹ShowDialog方法,該方法的作用是顯示通用對(duì)話框,其一般調(diào)用形式如下: 通用對(duì)話框?qū)ο竺?ShowDialog(); 2SaveFileDialog控件。 SaveFileDialog控件也具有FileName、Filter、FilterIndex、InitialDirectory、Title等屬性,這些屬性的作用與OpenFileDialog對(duì)話框控件基本一致 。

4、,【例10-1】 編寫一個(gè)簡(jiǎn)易文本編輯器,程序的設(shè)計(jì)界面如圖10-1所示。程序運(yùn)行時(shí)單擊【打開文件】按鈕,將會(huì)出現(xiàn)如圖10-2所示的【打開文件】對(duì)話框。選中一個(gè)文件后按【打開】按鈕將會(huì)把選中的文件打開并顯示在RichTextBox控件中,如圖10-3所示。此時(shí)若單擊【另存為】按鈕,將會(huì)出現(xiàn)如圖10-4所示的【保存文件】對(duì)話框,在該對(duì)話框中輸入要保存的文件名,然后按【保存】按鈕,打開的文件將以指定的文件名保存起來(lái)。,圖10-1 程序設(shè)計(jì)界面,圖10-3 程序運(yùn)行界面,圖10-2 【打開文件】對(duì)話框,圖10-4 【保存文件】對(duì)話框,3FontDialog控件,(1)Font屬性:該屬性是字體對(duì)話框

5、的最重要屬性,通過(guò)它可以設(shè)定或獲取字體信息。 (2)Color屬性:該屬性用來(lái)設(shè)定或獲取字符的顏色。 (3)MaxSize屬性:該屬性用來(lái)獲取或設(shè)置用戶可選擇的最大磅值。 (4)MinSize屬性:該屬性用來(lái)獲取或設(shè)置用戶可選擇的最小磅值。 (5)ShowColor屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示顏色選擇框。 (6)ShowEffects屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否包含允許用戶指定刪除線、下劃線和文本顏色選項(xiàng)的控件。,4ColorDialog控件,(1)AllowFullOpen屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示用戶是否可以使用該對(duì)話框定

6、義自定義顏色。 (2)FullOpen屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示用于創(chuàng)建自定義顏色的控件在對(duì)話框打開時(shí)是否可見。 (3)AnyColor屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示對(duì)話框是否顯示基本顏色集中可用的所有顏色。 (4)Color屬性:該屬性用來(lái)獲取或設(shè)置用戶選定的顏色。,【例10-2】 為簡(jiǎn)易文本編輯器增加設(shè)置字體和字體顏色的功能。在簡(jiǎn)易文件編輯器中再增加兩個(gè)按鈕(button4和button5),設(shè)置它們的顯示文字為【字體】和【顏色】。程序運(yùn)行中選定了一些文本后,單擊【字體】按鈕將顯示出如圖10-5所示的【字體】對(duì)話框供用戶設(shè)置字體,設(shè)置字體后按【確定】按鈕,設(shè)置的

7、字體將應(yīng)用于當(dāng)前選定的文本上。選定文本后單擊【顏色】按鈕將會(huì)出現(xiàn)如圖10-7所示的【顏色】對(duì)話框,選擇顏色后按【確定】按鈕,選中的顏色將應(yīng)用于當(dāng)前選定的文本上。,圖10-5 字體對(duì)話框,圖10-6 設(shè)置的字體,圖10-7 顏色對(duì)話框,圖10-8 設(shè)置的顏色,5PrintDialog控件和PrintDocument控件,需注意的是:該對(duì)話框并不負(fù)責(zé)具體的打印任務(wù),要想 在應(yīng)用程序中控制打印內(nèi)容必須使用PrintDocument控件。 關(guān)于這兩個(gè)控件的詳細(xì)使用方法讀者可參閱相關(guān)資料或 Visual C#的幫助文件。 6用戶自定義對(duì)話框 (1)將窗體的FormBorderStyle屬性值設(shè)置為Fix

8、edDialog; (2)根據(jù)需要向窗體上添加控件; (3)使用窗體的ShowDialog方法顯示窗體,即顯示出對(duì)話框。,10.1.2 菜單控件,1菜單的結(jié)構(gòu),圖10-10 菜單結(jié)構(gòu)二,圖10-9 菜單結(jié)構(gòu)一,2菜單項(xiàng)的常用屬性,(1)Text屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)標(biāo)題。 (2)Checked屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示選中標(biāo)記是否出現(xiàn)在菜單項(xiàng)文本的旁邊. (3)DefaultItem屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)是否為默認(rèn)菜單項(xiàng)。 (4)Enabled屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示菜單項(xiàng)是否可用。 (5)R

9、adioCheck屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示選中的菜單項(xiàng)的左邊是顯示單選按鈕還是選中標(biāo)記。,(6)Shortcut屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)相關(guān)聯(lián)的快捷鍵。 (7)ShowShortcut屬性:獲取或設(shè)置一個(gè)值,該值指示與菜單項(xiàng)關(guān)聯(lián)的快捷鍵是否在菜單項(xiàng)標(biāo)題的旁邊顯示。 (8)MdiList屬性:該屬性用來(lái)獲取或設(shè)置一個(gè)值,通過(guò)該值指示是否用在關(guān)聯(lián)窗體內(nèi)顯示的多文檔界面(MDI)子窗口列表來(lái)填充菜單項(xiàng)。 3菜單項(xiàng)的常用事件 菜單項(xiàng)的常用事件主要有Click事件,該事件在用戶單擊菜單項(xiàng)時(shí)發(fā)生。,10.1.3 多窗體程序設(shè)計(jì),Windows應(yīng)用程序很少只由

10、一個(gè)窗體組成,一般情況下一個(gè)應(yīng)用程序均擁有很多個(gè)窗體。C#項(xiàng)目剛建立時(shí)只有一個(gè)名為Form1的窗體,要建立多窗體應(yīng)用程序應(yīng)首先為項(xiàng)目添加窗體,添加窗體的方法如下: (1)單擊工具欄上的“ ”按鈕或執(zhí)行【項(xiàng)目】【添加Windows窗體】命令,將會(huì)出現(xiàn)如圖10-17所示的【添加新項(xiàng)】對(duì)話框。 (2)在該對(duì)話框的【模板】下面的列表框中選中【W(wǎng)indows 窗體】圖標(biāo),在名稱后面的文本框中輸入窗體名,然后按【打開】按鈕,即為應(yīng)用程序添加了一個(gè)窗體。,圖10-17 【添加新項(xiàng)】對(duì)話框,【例10-4】 為例13-3的簡(jiǎn)易文本編輯器添加一個(gè)關(guān)閉提示窗口。程序運(yùn)行時(shí),當(dāng)執(zhí)行了【文件】菜單中的【退出】命令時(shí),將

11、會(huì)出現(xiàn)如圖10-18所示的對(duì)話框,在該對(duì)話框中選中【確定】按鈕將退出應(yīng)用程序,選中【取消】按鈕,將不退出應(yīng)用程序。請(qǐng)?zhí)砑舆@樣的一個(gè)對(duì)話框。,圖10-18 【退出】對(duì)話框,10.1.4 多文檔界面(MDI)應(yīng)用程序設(shè)計(jì),1MDI應(yīng)用程序的概念 MDI程序中的應(yīng)用程序窗口稱為父窗口,應(yīng)用程序內(nèi)部的窗口稱為子窗口。,圖10-19 MDI應(yīng)用程序窗口,2與MDI應(yīng)用程序設(shè)計(jì)有關(guān)的屬性、方法和事件,(1)屬性 常用的MDI父窗體屬性如下。 ActiveMdiChild屬性:該屬性用來(lái)表示當(dāng)前活動(dòng)的MDI子窗口,如果當(dāng)前沒(méi)有子窗口,則返回null。 IsMdiContainer屬性:該屬性用來(lái)獲取或設(shè)置一

12、個(gè)值,該值指示窗體是否為多文檔界面(MDI)子窗體的容器,即MDI父窗體。 MdiChildren屬性:該屬性以窗體數(shù)組形式返回MDI子窗體,每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)MDI子窗體。,常用的MDI子窗體的屬性有: IsMdiChild屬性:該屬性用來(lái)獲取一個(gè)值,該值指示該窗體是否為多文檔界面(MDI)的子窗體。 MdiParent屬性:該屬性用來(lái)指定該子窗體的MDI父窗體。 (2)方法 一般只使用父窗體的LayoutMdi方法,該方法的調(diào)用格式如下: MDI父窗體名.LayoutMdi(Value); (3)事件 常用的MDI父窗體的事件是MdiChildActivate,當(dāng)激活或關(guān)閉一個(gè)MDI子窗

13、體時(shí)將發(fā)生該事件。,3菜單合并,父窗體和子窗體可以使用不同的菜單,這些菜單會(huì)在選擇子窗體的時(shí)候合并。如果需要指定菜單的合并方式,程序員可以設(shè)置每個(gè)菜單項(xiàng)的MergeOrder屬性和MergeType屬性。 (1)MergeOrder屬性:該屬性用來(lái)確定當(dāng)兩個(gè)菜單合并時(shí)菜單項(xiàng)出現(xiàn)的順序,具有較低MergeOrder的菜單項(xiàng)會(huì)首先出現(xiàn)。 (2)MergeType屬性:當(dāng)合并的兩個(gè)菜單的某些菜單項(xiàng)的MergeOrder屬性值相等時(shí),使用該屬性可以控制這些菜單項(xiàng)的顯示方式。,【例10-5】 編寫一個(gè)能夠顯示多個(gè)文本文件的多文檔程序。程序設(shè)計(jì)時(shí)的MDI父窗口如圖10-20所示,子窗口如圖10-21所示。

14、程序運(yùn)行時(shí)的菜單如圖10-22(a)和圖10-22(b)所示。打開了多個(gè)文件后的程序運(yùn)行界面分別如圖10-22(c)和圖10-22(d)所示。程序運(yùn)行時(shí)【文件】【打開】命令將彈出一個(gè)打開對(duì)話框讓用戶選擇一個(gè)文件打開。打開文件后【文件】菜單中多個(gè)一項(xiàng)【關(guān)閉】,執(zhí)行它將關(guān)閉當(dāng)前打開的文件,執(zhí)行【文件】【退出】命令將退出應(yīng)用程序?!敬翱凇坎藛蔚那八捻?xiàng)用來(lái)對(duì)子窗口進(jìn)行相應(yīng)的排列,【窗口】菜單中的【關(guān)閉所有子窗口】命令的作用是刪除所有的子窗口,【窗口列表】用來(lái)列出打開的所有子窗體。,圖10-20 父窗口設(shè)計(jì)界面,圖10-21 子窗口設(shè)計(jì)界面,(a),(b),(c),(d),圖10-22 程序運(yùn)行時(shí)的菜單

15、,10.1.5 工具欄設(shè)計(jì),【例10-6】 為例10-3的簡(jiǎn)易文本編輯器添加一個(gè)工具欄,工具欄上具有【打開】和【保存】按鈕,如圖10-23所示。,圖10-23 加上工具欄后的簡(jiǎn)易文本編輯器,10.1.6 狀態(tài)欄設(shè)計(jì),【例10-7】 為例10-6的簡(jiǎn)易文本編輯器添加一個(gè)狀態(tài)欄,使得程序的運(yùn)行界面如圖10-29所示。,圖10-29 加上狀態(tài)欄后的簡(jiǎn)易文本編輯器,10.1.7 鍵盤事件處理,1KeyPressEventArgs類的主要屬性(KeyPress事件的一個(gè)參數(shù)類型) (1)Handled屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否處理過(guò) KeyPress 事件。 (2)KeyChar屬性:用來(lái)

16、獲取按下的鍵對(duì)應(yīng)的字符,通常是該鍵的ASCII碼。 2KeyEventArgs類的主要屬性(KeyUp和KeyDown事件的一個(gè)參數(shù)) (1)Alt屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下 Alt 鍵。 (2)Control屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下 Ctrl 鍵。,(3)Shift屬性:用來(lái)獲取一個(gè)值,該值指示是否曾按下Shift鍵。 (4)Handled屬性:用來(lái)獲取或設(shè)置一個(gè)值,該值指示是否處理過(guò)此事件。 (5)KeyCode屬性:以Keys枚舉型值返回鍵盤鍵的鍵碼,該屬性不包含修改鍵(Alt、Control和Shift鍵)信息,用于測(cè)試指定的鍵盤鍵。 (6)KeyData

17、屬性:以Keys枚舉類型值返回鍵盤鍵的鍵碼,并包含修改鍵信息,用于判斷關(guān)于按下鍵盤鍵的所有信息。 (7)KeyValue屬性:以整數(shù)形式返回鍵碼,而不是Keys枚舉類型值。用于獲得所按下鍵盤鍵的數(shù)字表示。 (8)Modifiers屬性:以Keys枚舉類型值返回所有按下的修改鍵(Alt、Control和Shift鍵),僅用于判斷修改鍵信息。,【例10-8】 編寫一個(gè)程序用來(lái)演示鍵盤事件,程序運(yùn)行時(shí)在一個(gè)標(biāo)簽上顯示按下的鍵,在另一個(gè)標(biāo)簽上顯示修改鍵信息。程序的運(yùn)行界面分別如圖10-31圖10-34所示。,圖10-31 按下了K,圖10-32 按下了回車鍵,圖10-33 按下了Shift+K,圖10

18、-34 按下了Ctrl+”,10.1.8 鼠標(biāo)事件處理,(1)MouseEnter事件 該事件在鼠標(biāo)指針進(jìn)入控件時(shí)發(fā)生。 (2)MouseMove事件 該事件在鼠標(biāo)指針移到控件上時(shí)發(fā)生。 Button屬性:用來(lái)獲取曾按下的是哪個(gè)鼠標(biāo)按鈕。 Clicks屬性:用來(lái)獲取按下并釋放鼠標(biāo)按鈕的次數(shù)。 Delta屬性:用來(lái)獲取鼠標(biāo)輪已轉(zhuǎn)動(dòng)的制動(dòng)器數(shù)的有符號(hào)計(jì)數(shù)。 X屬性:用來(lái)獲取鼠標(biāo)所在位置的 x 坐標(biāo)。 Y屬性:用來(lái)獲取鼠標(biāo)所在位置的 y 坐標(biāo)。,(3)MouseHover事件 當(dāng)鼠標(biāo)指針懸停在控件上時(shí)將發(fā)生該事件。 (4)MouseDown事件 當(dāng)鼠標(biāo)指針位于控件上并按下鼠標(biāo)鍵時(shí)將發(fā)生該事件。 (5)MouseWheel事件 在移動(dòng)鼠標(biāo)輪并且控件有焦點(diǎn)時(shí)將發(fā)生該事件。 (6)MouseUp 事件 當(dāng)鼠標(biāo)指針在控件上并釋放鼠標(biāo)鍵時(shí)將發(fā)生該事件。 (7)MouseLeave事件 在鼠標(biāo)指針離開控件時(shí)將發(fā)生該事件。,10.2 典型實(shí)例練能力,10.2.1 典型實(shí)例一:輸入對(duì)話框的設(shè)計(jì) 【實(shí)例題目】 設(shè)計(jì)一個(gè)輸入數(shù)據(jù)的對(duì)話框。該程序有兩個(gè)窗體,名為Form1和InputBox,它們的設(shè)計(jì)界面分別如圖10-35和圖10-36所示。程序運(yùn)行時(shí)單出【顯示對(duì)話框】按鈕將顯示如圖10-37所示的對(duì)話框,在其中的文本框中輸入數(shù)據(jù)后按【確定】按鈕,輸入的數(shù)據(jù)將顯示

溫馨提示

  • 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)論