版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章Windows應(yīng)用開(kāi)發(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ì)主要有主菜單、彈出式菜單。通過(guò)工具箱的菜單制作控件,開(kāi)發(fā)人員可以非常方便地設(shè)計(jì)出具有Windows風(fēng)格的菜單。 主菜單用于在應(yīng)用程序的頂部提供一個(gè)菜單欄。MenuStrip控件是MainMenu控件的替代品,其支持多文檔界面和菜單合并、工具提示和溢出。開(kāi)發(fā)人員可以通過(guò)添加快捷鍵、訪問(wèn)鍵、圖像、選中標(biāo)記和分隔條來(lái)增強(qiáng)菜單的可用性和可讀性。
一、創(chuàng)建菜單2.創(chuàng)建彈出式菜單
彈出式菜單,也叫右鍵菜單或快捷菜單。用戶右擊窗體上的對(duì)象時(shí)彈出快捷菜單,彈出式菜單可以更加靈活地為用戶提供更為便捷的操作。彈出式菜單的創(chuàng)建與普通菜單的創(chuàng)建類(lèi)似。ContextMenuStrip控件用來(lái)創(chuàng)建彈出式菜單,其是早期版本ContextMenu控件的升級(jí)版。開(kāi)發(fā)人員可以將ContextMenuStrip與任何控件相關(guān)聯(lián),右擊會(huì)自動(dòng)顯示快捷菜單。也可以通過(guò)使用Show方法,以編程的方式顯示ContextMenuStrip控件。例如下面的程序使用彈出式菜單顯示窗體屬性,顯示效果圖如圖10.1所示。
圖10.1使用彈出菜單效果圖二、工具欄
工具欄在Windows應(yīng)用程序中極為常見(jiàn),能夠通過(guò)按鈕的單擊事件快速執(zhí)行相應(yīng)的功能。通過(guò)使用工具欄,可以改善軟件界面的布局,達(dá)到快速實(shí)現(xiàn)相應(yīng)功能的目的。 與早期的ToolBar控件相比,ToolStrip控件添加了部分功能,可以更好地實(shí)現(xiàn)工具欄的設(shè)計(jì)。工具欄的編程與菜單欄的編程很相似。在上面的程序中添加一個(gè)標(biāo)簽,用來(lái)指示用戶觸發(fā)了工具欄的哪些事件,使用工具欄的單擊事件進(jìn)行編程,效果如圖10.2所示。圖10.2使用工具欄的效果圖三、狀態(tài)欄 狀態(tài)欄用來(lái)顯示應(yīng)用程序的一些狀態(tài)。StatusStrip控件是早期版本StatusBar控件的擴(kuò)展控件,相比StatusBar控件,StatusStrip控件新增了一些功能,可以顯示正在窗體上查看對(duì)象的相關(guān)信息、對(duì)象的組件或與該對(duì)象在應(yīng)用程序中的操作相關(guān)的上下文信息。狀態(tài)欄通常用狀態(tài)條來(lái)顯示操作狀態(tài),如菜單提示等信息。
StatusStrip控件上通常有ToolStripStatusLabel控件,其用于顯示指示狀態(tài)的文本或圖標(biāo)。另外,StatusStrip控件還可包含用來(lái)在ToolStripProgressBar控件、ToolStripDropDownButton控件和ToolStripSplitButton控件等。四、SDI和MDI
一般可以將Windows應(yīng)用程序分為基于對(duì)話框的應(yīng)用程序、基于單文檔(SDI)的應(yīng)用程序和基于多文檔(MDI)的應(yīng)用程序。一些功能比較強(qiáng)大的應(yīng)用程序大多是基于多文檔,例如VisualStudio開(kāi)發(fā)工具、UltraEdit編輯工具、Dreamweaver網(wǎng)頁(yè)開(kāi)發(fā)工具。MDI應(yīng)用中的應(yīng)用程序窗口稱(chēng)為父窗口,應(yīng)用程序內(nèi)部的窗口稱(chēng)為子窗口。一個(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中提供了一些類(lèi)描述Windows應(yīng)用程序中各種對(duì)話框的實(shí)現(xiàn)。通過(guò)使用對(duì)話框,能夠使程序的用戶界面更友好。
Windows應(yīng)用程序使用兩種對(duì)話框類(lèi)型,一種是模式對(duì)話框,另一種是非模式對(duì)話框。兩種對(duì)話框的區(qū)別是,當(dāng)對(duì)話框打開(kāi)時(shí),是否屏蔽主窗口的操作。模式對(duì)話框打開(kāi)時(shí)防止用戶影響應(yīng)用程序,因此其屏蔽了與主窗口的交互。通常情況下,窗體的顯示為非模式狀態(tài)。如下面的代碼顯示非模式、模式窗體From2:Form2frm=newForm2();frm.Show(); //非模式顯示frm.ShowDialog(); //實(shí)現(xiàn)窗體的模式顯示
五、通用對(duì)話框2.消息框 消息框(MessageBox)一般用于程序運(yùn)行過(guò)程中顯示提示信息??梢杂胁煌袷降南⒖颉indows應(yīng)用程序中,為提高與用戶的交互能力,有大量消息框可以使用。在C#中可以通過(guò)MessageBox類(lèi)實(shí)現(xiàn)消息框的定義。MessageBox類(lèi)提供的Show方法,其用來(lái)顯示消息框,該方法是靜態(tài)方法。另外,Show()方法有多種重載方式,對(duì)應(yīng)多種形式實(shí)現(xiàn)消息框的顯示,下面列出了3中重載形式分別用來(lái)顯示不同樣式的對(duì)話框。publicstaticDialogResultShow(string);publicstaticDialogResultShow(string,string);publicstaticDialogResultShow( string,string,MessageBoxButtons);
五、通用對(duì)話框3.字體對(duì)話框 字體對(duì)話框(FontDialog)在文字處理中經(jīng)常涉及到。字體的顯示要使用一定的風(fēng)格,在C#中使用Font類(lèi)對(duì)各種字體進(jìn)行了封裝。因此,在編寫(xiě)程序的過(guò)程中,不僅可以使用Windows自帶的標(biāo)準(zhǔn)字體,還可以定義的一些新字體。使用字體對(duì)話框進(jìn)行編程,運(yùn)行后的運(yùn)行效果圖如圖10.4所示。圖10.4字體對(duì)話框界面效果圖五、通用對(duì)話框4.打開(kāi)文件與保存對(duì)話框 打開(kāi)文件對(duì)話框(OpenFileDialog)用于選擇驅(qū)動(dòng)器、瀏覽文件路徑、選擇文件并打開(kāi)文件。OpenFileDialog控件允許由對(duì)話框中選擇要打開(kāi)的文件、一次是否可以選擇多個(gè)文件、篩選文件類(lèi)型等功能,這些功能有相應(yīng)的屬性和方法控制。 保存文件對(duì)話框(SaveFileDialog)用來(lái)提示用戶將文件保存到指定位置。在Windows應(yīng)用程序中用處非常廣泛,尤其是用來(lái)編輯文字、圖像、網(wǎng)頁(yè)等應(yīng)用程序中。五、通用對(duì)話框5.顏色對(duì)話框 顏色對(duì)話框(ColorDialog)是用來(lái)顯示可用的顏色和允許用戶定義自定義顏色的控件。在圖形圖像處理等應(yīng)用程序中應(yīng)用非常廣泛。設(shè)計(jì)顏色對(duì)話框的常見(jiàn)屬性如下所示。 AllowFullOpen:用來(lái)禁止和啟用“自定義顏色”按鈕。FullOpen:表示是否最先顯示對(duì)話框的“自定義顏色”部分。ShowHelp:表示是否顯示“幫助”按鈕。Color:表示在對(duì)話框中顯示的顏色。AnyColor:用來(lái)顯示可選擇任何顏色。CustomColors:表示是否顯示自定義顏色。SolidColorOnly:表示是否只能選擇純色。五、通用對(duì)話框6.自定義對(duì)話框 在Windows編程過(guò)程中,往往出現(xiàn)要求顯示信息量大或特定樣式的對(duì)話框,這就需要自定義完成。所謂自定義對(duì)話框,是指用戶根據(jù)需要所創(chuàng)建的含有控件的窗體。上述控件可以包括命令按鈕、單選按鈕、復(fù)選框和文本框等。創(chuàng)建自定義對(duì)話框時(shí),可以通過(guò)設(shè)置窗體控件的屬性值來(lái)定義窗體的外觀。對(duì)話框的窗體與一般的窗體在外觀上是有區(qū)別的。對(duì)話框的窗體沒(méi)有控制菜單框及最大化和最小化按鈕,因此不能對(duì)其進(jìn)行改變大小的設(shè)置。六、實(shí)訓(xùn)10.1——打造自己的記事本1.需求分析和界面設(shè)計(jì) 大家應(yīng)該對(duì)記事本非常熟悉,記事本界面包括菜單欄和文字編輯區(qū)域??梢杂脛倢W(xué)的MenuStrip來(lái)創(chuàng)建菜單,下面的編輯區(qū)域用文本框(TextBox)來(lái)實(shí)現(xiàn),不過(guò)用富文本框(RichTextBox)更適合。富文本框和文本框都是從TextBoxBase繼承而來(lái)。富文本框控件提供比標(biāo)準(zhǔn)TextBox控件更高級(jí)的格式設(shè)置功能。與字處理應(yīng)用程序(如MicrosoftWord)類(lèi)似,它通常用于提供文本操作和顯示功能。富文本框控件能夠?qū)x定的文本設(shè)置字體和顏色,比文本框的功能要強(qiáng)大許多,其本身封裝了裝載文件和將其內(nèi)容寫(xiě)入文件的方法,支持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)功能。在程序的開(kāi)始需要聲明本程序用到的全局變量,如標(biāo)示文本是否發(fā)生變化的變量。 在記事本中,用戶執(zhí)行“新建”、“保存”、“另存為”、“關(guān)閉”時(shí),都要先檢查編輯框中的內(nèi)容是否改變。為了提高代碼利用率,菜單“新建”、“打開(kāi)”、“保存”、“另存為”、“退出”的單擊事件可以重復(fù)利用
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購(gòu)戰(zhàn)略合同的綠色發(fā)展戰(zhàn)略瓶頸3篇
- 采購(gòu)合同范本表格3篇
- 采購(gòu)合同制定控制合同風(fēng)險(xiǎn)3篇
- 采購(gòu)市場(chǎng)分析合同3篇
- 采購(gòu)合同風(fēng)險(xiǎn)分析與控制要點(diǎn)3篇
- 采購(gòu)安裝合同中的支付方式3篇
- 采購(gòu)合同風(fēng)險(xiǎn)評(píng)估的實(shí)踐經(jīng)驗(yàn)3篇
- 2024年度房產(chǎn)購(gòu)買(mǎi)保密協(xié)議及競(jìng)品限制范本3篇
- 2024年度綠色建筑信托房產(chǎn)抵押擔(dān)保合同樣本3篇
- 采購(gòu)合同樣本的克羅地亞語(yǔ)3篇
- 中國(guó)礦業(yè)權(quán)評(píng)估準(zhǔn)則(2011年)
- 人教部編本八年級(jí)語(yǔ)文上冊(cè)第六單元復(fù)習(xí)課件共26張
- 2024年土地管理法
- 框架玻璃幕墻施工工藝
- 《水產(chǎn)種質(zhì)資源保護(hù)區(qū)生態(tài)功能評(píng)估方法》
- 韻達(dá)云倉(cāng)方案
- 2023-2024學(xué)年福建省廈門(mén)市思明區(qū)重點(diǎn)中學(xué)七年級(jí)(上)期末數(shù)學(xué)試卷(含解析)
- 預(yù)防血栓藥物課件
- 2022讀《整本書(shū)閱讀的六項(xiàng)核心技術(shù)》有感
- 2023年高考英語(yǔ)真題題源解密(新高考卷)專(zhuān)題03 閱讀理解C篇(說(shuō)明文)(原題版)
- 公司駕駛員安全駕駛培訓(xùn)
評(píng)論
0/150
提交評(píng)論