版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章Windows應(yīng)用開發(fā)高級(jí)功能如果要?jiǎng)?chuàng)建出功能更加強(qiáng)大的Windows窗體應(yīng)用應(yīng)用程序,使用前面介紹的關(guān)于Windows窗體應(yīng)用程序的基礎(chǔ)知識(shí)是不夠的。在Windows應(yīng)用程序的菜單欄、工具欄、狀態(tài)欄和通用對(duì)話框都是使用非常率高的控件。重點(diǎn)內(nèi)容:創(chuàng)建實(shí)用的菜單;創(chuàng)建工具欄;創(chuàng)建狀態(tài)欄;使用常用對(duì)話框。一、創(chuàng)建菜單1.設(shè)計(jì)主菜單
使用圖形用戶界面(GUI)與程序進(jìn)行交互并對(duì)程序進(jìn)行導(dǎo)航,是Windows的優(yōu)秀特性之一。菜單是組成用戶界面至關(guān)重要的一部分,可以表達(dá)出一個(gè)軟件基本的功能和風(fēng)格。使用VisualC#2008可以非常簡(jiǎn)單地為應(yīng)用程序創(chuàng)建菜單。C#中菜單程序設(shè)計(jì)主要有主菜單、彈出式菜單。通過工具箱的菜單制作控件,開發(fā)人員可以非常方便地設(shè)計(jì)出具有Windows風(fēng)格的菜單。 主菜單用于在應(yīng)用程序的頂部提供一個(gè)菜單欄。MenuStrip控件是MainMenu控件的替代品,其支持多文檔界面和菜單合并、工具提示和溢出。開發(fā)人員可以通過添加快捷鍵、訪問鍵、圖像、選中標(biāo)記和分隔條來增強(qiáng)菜單的可用性和可讀性。
一、創(chuàng)建菜單2.創(chuàng)建彈出式菜單
彈出式菜單,也叫右鍵菜單或快捷菜單。用戶右擊窗體上的對(duì)象時(shí)彈出快捷菜單,彈出式菜單可以更加靈活地為用戶提供更為便捷的操作。彈出式菜單的創(chuàng)建與普通菜單的創(chuàng)建類似。ContextMenuStrip控件用來創(chuàng)建彈出式菜單,其是早期版本ContextMenu控件的升級(jí)版。開發(fā)人員可以將ContextMenuStrip與任何控件相關(guān)聯(lián),右擊會(huì)自動(dòng)顯示快捷菜單。也可以通過使用Show方法,以編程的方式顯示ContextMenuStrip控件。例如下面的程序使用彈出式菜單顯示窗體屬性,顯示效果圖如圖10.1所示。
圖10.1使用彈出菜單效果圖二、工具欄
工具欄在Windows應(yīng)用程序中極為常見,能夠通過按鈕的單擊事件快速執(zhí)行相應(yīng)的功能。通過使用工具欄,可以改善軟件界面的布局,達(dá)到快速實(shí)現(xiàn)相應(yīng)功能的目的。 與早期的ToolBar控件相比,ToolStrip控件添加了部分功能,可以更好地實(shí)現(xiàn)工具欄的設(shè)計(jì)。工具欄的編程與菜單欄的編程很相似。在上面的程序中添加一個(gè)標(biāo)簽,用來指示用戶觸發(fā)了工具欄的哪些事件,使用工具欄的單擊事件進(jìn)行編程,效果如圖10.2所示。圖10.2使用工具欄的效果圖三、狀態(tài)欄 狀態(tài)欄用來顯示應(yīng)用程序的一些狀態(tài)。StatusStrip控件是早期版本StatusBar控件的擴(kuò)展控件,相比StatusBar控件,StatusStrip控件新增了一些功能,可以顯示正在窗體上查看對(duì)象的相關(guān)信息、對(duì)象的組件或與該對(duì)象在應(yīng)用程序中的操作相關(guān)的上下文信息。狀態(tài)欄通常用狀態(tài)條來顯示操作狀態(tài),如菜單提示等信息。
StatusStrip控件上通常有ToolStripStatusLabel控件,其用于顯示指示狀態(tài)的文本或圖標(biāo)。另外,StatusStrip控件還可包含用來在ToolStripProgressBar控件、ToolStripDropDownButton控件和ToolStripSplitButton控件等。四、SDI和MDI
一般可以將Windows應(yīng)用程序分為基于對(duì)話框的應(yīng)用程序、基于單文檔(SDI)的應(yīng)用程序和基于多文檔(MDI)的應(yīng)用程序。一些功能比較強(qiáng)大的應(yīng)用程序大多是基于多文檔,例如VisualStudio開發(fā)工具、UltraEdit編輯工具、Dreamweaver網(wǎng)頁開發(fā)工具。MDI應(yīng)用中的應(yīng)用程序窗口稱為父窗口,應(yīng)用程序內(nèi)部的窗口稱為子窗口。一個(gè)MDI應(yīng)用可以有多個(gè)子窗口,但每個(gè)子窗口只能有一個(gè)父窗口。使用VisualStdio2008創(chuàng)建多文檔對(duì)話框如圖10.3所示。圖10.3多文檔界面效果圖五、通用對(duì)話框
1.模式對(duì)話框和非模式對(duì)話框
對(duì)話框是一個(gè)窗口,其不但可以接收信息,也可以被移動(dòng)和關(guān)閉,還可以在其客戶區(qū)中進(jìn)行繪圖操作。.NET中提供了一些類描述Windows應(yīng)用程序中各種對(duì)話框的實(shí)現(xiàn)。通過使用對(duì)話框,能夠使程序的用戶界面更友好。
Windows應(yīng)用程序使用兩種對(duì)話框類型,一種是模式對(duì)話框,另一種是非模式對(duì)話框。兩種對(duì)話框的區(qū)別是,當(dāng)對(duì)話框打開時(shí),是否屏蔽主窗口的操作。模式對(duì)話框打開時(shí)防止用戶影響應(yīng)用程序,因此其屏蔽了與主窗口的交互。通常情況下,窗體的顯示為非模式狀態(tài)。如下面的代碼顯示非模式、模式窗體From2:Form2frm=newForm2();frm.Show(); //非模式顯示frm.ShowDialog(); //實(shí)現(xiàn)窗體的模式顯示
五、通用對(duì)話框2.消息框 消息框(MessageBox)一般用于程序運(yùn)行過程中顯示提示信息??梢杂胁煌袷降南⒖颉indows應(yīng)用程序中,為提高與用戶的交互能力,有大量消息框可以使用。在C#中可以通過MessageBox類實(shí)現(xiàn)消息框的定義。MessageBox類提供的Show方法,其用來顯示消息框,該方法是靜態(tài)方法。另外,Show()方法有多種重載方式,對(duì)應(yīng)多種形式實(shí)現(xiàn)消息框的顯示,下面列出了3中重載形式分別用來顯示不同樣式的對(duì)話框。publicstaticDialogResultShow(string);publicstaticDialogResultShow(string,string);publicstaticDialogResultShow( string,string,MessageBoxButtons);
五、通用對(duì)話框3.字體對(duì)話框 字體對(duì)話框(FontDialog)在文字處理中經(jīng)常涉及到。字體的顯示要使用一定的風(fēng)格,在C#中使用Font類對(duì)各種字體進(jìn)行了封裝。因此,在編寫程序的過程中,不僅可以使用Windows自帶的標(biāo)準(zhǔn)字體,還可以定義的一些新字體。使用字體對(duì)話框進(jìn)行編程,運(yùn)行后的運(yùn)行效果圖如圖10.4所示。圖10.4字體對(duì)話框界面效果圖五、通用對(duì)話框4.打開文件與保存對(duì)話框 打開文件對(duì)話框(OpenFileDialog)用于選擇驅(qū)動(dòng)器、瀏覽文件路徑、選擇文件并打開文件。OpenFileDialog控件允許由對(duì)話框中選擇要打開的文件、一次是否可以選擇多個(gè)文件、篩選文件類型等功能,這些功能有相應(yīng)的屬性和方法控制。 保存文件對(duì)話框(SaveFileDialog)用來提示用戶將文件保存到指定位置。在Windows應(yīng)用程序中用處非常廣泛,尤其是用來編輯文字、圖像、網(wǎng)頁等應(yīng)用程序中。五、通用對(duì)話框5.顏色對(duì)話框 顏色對(duì)話框(ColorDialog)是用來顯示可用的顏色和允許用戶定義自定義顏色的控件。在圖形圖像處理等應(yīng)用程序中應(yīng)用非常廣泛。設(shè)計(jì)顏色對(duì)話框的常見屬性如下所示。 AllowFullOpen:用來禁止和啟用“自定義顏色”按鈕。FullOpen:表示是否最先顯示對(duì)話框的“自定義顏色”部分。ShowHelp:表示是否顯示“幫助”按鈕。Color:表示在對(duì)話框中顯示的顏色。AnyColor:用來顯示可選擇任何顏色。CustomColors:表示是否顯示自定義顏色。SolidColorOnly:表示是否只能選擇純色。五、通用對(duì)話框6.自定義對(duì)話框 在Windows編程過程中,往往出現(xiàn)要求顯示信息量大或特定樣式的對(duì)話框,這就需要自定義完成。所謂自定義對(duì)話框,是指用戶根據(jù)需要所創(chuàng)建的含有控件的窗體。上述控件可以包括命令按鈕、單選按鈕、復(fù)選框和文本框等。創(chuàng)建自定義對(duì)話框時(shí),可以通過設(shè)置窗體控件的屬性值來定義窗體的外觀。對(duì)話框的窗體與一般的窗體在外觀上是有區(qū)別的。對(duì)話框的窗體沒有控制菜單框及最大化和最小化按鈕,因此不能對(duì)其進(jìn)行改變大小的設(shè)置。六、實(shí)訓(xùn)10.1——打造自己的記事本1.需求分析和界面設(shè)計(jì) 大家應(yīng)該對(duì)記事本非常熟悉,記事本界面包括菜單欄和文字編輯區(qū)域??梢杂脛倢W(xué)的MenuStrip來創(chuàng)建菜單,下面的編輯區(qū)域用文本框(TextBox)來實(shí)現(xiàn),不過用富文本框(RichTextBox)更適合。富文本框和文本框都是從TextBoxBase繼承而來。富文本框控件提供比標(biāo)準(zhǔn)TextBox控件更高級(jí)的格式設(shè)置功能。與字處理應(yīng)用程序(如MicrosoftWord)類似,它通常用于提供文本操作和顯示功能。富文本框控件能夠?qū)x定的文本設(shè)置字體和顏色,比文本框的功能要強(qiáng)大許多,其本身封裝了裝載文件和將其內(nèi)容寫入文件的方法,支持OLE對(duì)象的剪貼板和OLE拖放操作。富文本框控件支持三種格式的文件:純文本、UniCode純文本和RTF格式。六、實(shí)訓(xùn)10.1——打造自己的記事本2.實(shí)現(xiàn)文件菜單下各菜單項(xiàng)功能 完成了記事本界面的設(shè)計(jì)后,為程序添加相應(yīng)代碼,從而實(shí)現(xiàn)文件菜單下各菜單項(xiàng)功能。在程序的開始需要聲明本程序用到的全局變量,如標(biāo)示文本是否發(fā)生變化的變量。 在記事本中,用戶執(zhí)行“新建”、“保存”、“另存為”、“關(guān)閉”時(shí),都要先檢查編輯框中的內(nèi)容是否改變。為了提高代碼利用率,菜單“新建”、“打開”、“保存”、“另存為”、“退出”的單擊事件可以重復(fù)利用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年南充文化旅游職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年瓊臺(tái)師范學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年無錫南洋職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試備考試題含詳細(xì)答案解析
- 2026年江西軟件職業(yè)技術(shù)大學(xué)單招職業(yè)技能考試備考題庫含詳細(xì)答案解析
- 2026西藏日喀則市甲魯職業(yè)技能培訓(xùn)學(xué)校招聘考試重點(diǎn)題庫及答案解析
- 2026年馬鞍山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試參考題庫含詳細(xì)答案解析
- 2026年永城職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試備考試題含詳細(xì)答案解析
- 2026年臨汾職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年昌吉職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試備考試題含詳細(xì)答案解析
- 2026年洛陽文化旅游職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- (2025年)上海公務(wù)員考試真題附答案
- (一模)濟(jì)南市2026屆高三第一次模擬考試生物試卷(含答案)
- (16區(qū)全套) 上海市16區(qū)2026屆初三一模化學(xué)試卷合集(含答案)
- 肺出血-腎炎綜合征診療指南(2025年版)
- 2025年廣西民族印刷包裝集團(tuán)有限公司招聘14人筆試備考試題附答案
- 2025-2026學(xué)年北京市海淀區(qū)初二(上期)期末物理試卷(含答案)
- 房產(chǎn)糾紛訴訟書范文(合集8篇)
- 攜程服務(wù)協(xié)議書
- 癲癇患者的護(hù)理研究進(jìn)展
- 安全管理制度培訓(xùn)課件
- 2025下半年四川綿陽市涪城區(qū)事業(yè)單位選調(diào)10人備考題庫及答案解析(奪冠系列)
評(píng)論
0/150
提交評(píng)論