第10章 Windows應(yīng)用開發(fā)高級功能_第1頁
第10章 Windows應(yīng)用開發(fā)高級功能_第2頁
第10章 Windows應(yīng)用開發(fā)高級功能_第3頁
第10章 Windows應(yīng)用開發(fā)高級功能_第4頁
第10章 Windows應(yīng)用開發(fā)高級功能_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章Windows應(yīng)用開發(fā)高級功能如果要創(chuàng)建出功能更加強大的Windows窗體應(yīng)用應(yīng)用程序,使用前面介紹的關(guān)于Windows窗體應(yīng)用程序的基礎(chǔ)知識是不夠的。在Windows應(yīng)用程序的菜單欄、工具欄、狀態(tài)欄和通用對話框都是使用非常率高的控件。重點內(nèi)容:創(chuàng)建實用的菜單;創(chuàng)建工具欄;創(chuàng)建狀態(tài)欄;使用常用對話框。一、創(chuàng)建菜單1.設(shè)計主菜單

使用圖形用戶界面(GUI)與程序進(jìn)行交互并對程序進(jìn)行導(dǎo)航,是Windows的優(yōu)秀特性之一。菜單是組成用戶界面至關(guān)重要的一部分,可以表達(dá)出一個軟件基本的功能和風(fēng)格。使用VisualC#2008可以非常簡單地為應(yīng)用程序創(chuàng)建菜單。C#中菜單程序設(shè)計主要有主菜單、彈出式菜單。通過工具箱的菜單制作控件,開發(fā)人員可以非常方便地設(shè)計出具有Windows風(fēng)格的菜單。 主菜單用于在應(yīng)用程序的頂部提供一個菜單欄。MenuStrip控件是MainMenu控件的替代品,其支持多文檔界面和菜單合并、工具提示和溢出。開發(fā)人員可以通過添加快捷鍵、訪問鍵、圖像、選中標(biāo)記和分隔條來增強菜單的可用性和可讀性。

一、創(chuàng)建菜單2.創(chuàng)建彈出式菜單

彈出式菜單,也叫右鍵菜單或快捷菜單。用戶右擊窗體上的對象時彈出快捷菜單,彈出式菜單可以更加靈活地為用戶提供更為便捷的操作。彈出式菜單的創(chuàng)建與普通菜單的創(chuàng)建類似。ContextMenuStrip控件用來創(chuàng)建彈出式菜單,其是早期版本ContextMenu控件的升級版。開發(fā)人員可以將ContextMenuStrip與任何控件相關(guān)聯(lián),右擊會自動顯示快捷菜單。也可以通過使用Show方法,以編程的方式顯示ContextMenuStrip控件。例如下面的程序使用彈出式菜單顯示窗體屬性,顯示效果圖如圖10.1所示。

圖10.1使用彈出菜單效果圖二、工具欄

工具欄在Windows應(yīng)用程序中極為常見,能夠通過按鈕的單擊事件快速執(zhí)行相應(yīng)的功能。通過使用工具欄,可以改善軟件界面的布局,達(dá)到快速實現(xiàn)相應(yīng)功能的目的。 與早期的ToolBar控件相比,ToolStrip控件添加了部分功能,可以更好地實現(xiàn)工具欄的設(shè)計。工具欄的編程與菜單欄的編程很相似。在上面的程序中添加一個標(biāo)簽,用來指示用戶觸發(fā)了工具欄的哪些事件,使用工具欄的單擊事件進(jìn)行編程,效果如圖10.2所示。圖10.2使用工具欄的效果圖三、狀態(tài)欄 狀態(tài)欄用來顯示應(yīng)用程序的一些狀態(tài)。StatusStrip控件是早期版本StatusBar控件的擴(kuò)展控件,相比StatusBar控件,StatusStrip控件新增了一些功能,可以顯示正在窗體上查看對象的相關(guān)信息、對象的組件或與該對象在應(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)用程序分為基于對話框的應(yīng)用程序、基于單文檔(SDI)的應(yīng)用程序和基于多文檔(MDI)的應(yīng)用程序。一些功能比較強大的應(yīng)用程序大多是基于多文檔,例如VisualStudio開發(fā)工具、UltraEdit編輯工具、Dreamweaver網(wǎng)頁開發(fā)工具。MDI應(yīng)用中的應(yīng)用程序窗口稱為父窗口,應(yīng)用程序內(nèi)部的窗口稱為子窗口。一個MDI應(yīng)用可以有多個子窗口,但每個子窗口只能有一個父窗口。使用VisualStdio2008創(chuàng)建多文檔對話框如圖10.3所示。圖10.3多文檔界面效果圖五、通用對話框

1.模式對話框和非模式對話框

對話框是一個窗口,其不但可以接收信息,也可以被移動和關(guān)閉,還可以在其客戶區(qū)中進(jìn)行繪圖操作。.NET中提供了一些類描述Windows應(yīng)用程序中各種對話框的實現(xiàn)。通過使用對話框,能夠使程序的用戶界面更友好。

Windows應(yīng)用程序使用兩種對話框類型,一種是模式對話框,另一種是非模式對話框。兩種對話框的區(qū)別是,當(dāng)對話框打開時,是否屏蔽主窗口的操作。模式對話框打開時防止用戶影響應(yīng)用程序,因此其屏蔽了與主窗口的交互。通常情況下,窗體的顯示為非模式狀態(tài)。如下面的代碼顯示非模式、模式窗體From2:Form2frm=newForm2();frm.Show(); //非模式顯示frm.ShowDialog(); //實現(xiàn)窗體的模式顯示

五、通用對話框2.消息框 消息框(MessageBox)一般用于程序運行過程中顯示提示信息??梢杂胁煌袷降南⒖?。Windows應(yīng)用程序中,為提高與用戶的交互能力,有大量消息框可以使用。在C#中可以通過MessageBox類實現(xiàn)消息框的定義。MessageBox類提供的Show方法,其用來顯示消息框,該方法是靜態(tài)方法。另外,Show()方法有多種重載方式,對應(yīng)多種形式實現(xiàn)消息框的顯示,下面列出了3中重載形式分別用來顯示不同樣式的對話框。publicstaticDialogResultShow(string);publicstaticDialogResultShow(string,string);publicstaticDialogResultShow( string,string,MessageBoxButtons);

五、通用對話框3.字體對話框 字體對話框(FontDialog)在文字處理中經(jīng)常涉及到。字體的顯示要使用一定的風(fēng)格,在C#中使用Font類對各種字體進(jìn)行了封裝。因此,在編寫程序的過程中,不僅可以使用Windows自帶的標(biāo)準(zhǔn)字體,還可以定義的一些新字體。使用字體對話框進(jìn)行編程,運行后的運行效果圖如圖10.4所示。圖10.4字體對話框界面效果圖五、通用對話框4.打開文件與保存對話框 打開文件對話框(OpenFileDialog)用于選擇驅(qū)動器、瀏覽文件路徑、選擇文件并打開文件。OpenFileDialog控件允許由對話框中選擇要打開的文件、一次是否可以選擇多個文件、篩選文件類型等功能,這些功能有相應(yīng)的屬性和方法控制。 保存文件對話框(SaveFileDialog)用來提示用戶將文件保存到指定位置。在Windows應(yīng)用程序中用處非常廣泛,尤其是用來編輯文字、圖像、網(wǎng)頁等應(yīng)用程序中。五、通用對話框5.顏色對話框 顏色對話框(ColorDialog)是用來顯示可用的顏色和允許用戶定義自定義顏色的控件。在圖形圖像處理等應(yīng)用程序中應(yīng)用非常廣泛。設(shè)計顏色對話框的常見屬性如下所示。 AllowFullOpen:用來禁止和啟用“自定義顏色”按鈕。FullOpen:表示是否最先顯示對話框的“自定義顏色”部分。ShowHelp:表示是否顯示“幫助”按鈕。Color:表示在對話框中顯示的顏色。AnyColor:用來顯示可選擇任何顏色。CustomColors:表示是否顯示自定義顏色。SolidColorOnly:表示是否只能選擇純色。五、通用對話框6.自定義對話框 在Windows編程過程中,往往出現(xiàn)要求顯示信息量大或特定樣式的對話框,這就需要自定義完成。所謂自定義對話框,是指用戶根據(jù)需要所創(chuàng)建的含有控件的窗體。上述控件可以包括命令按鈕、單選按鈕、復(fù)選框和文本框等。創(chuàng)建自定義對話框時,可以通過設(shè)置窗體控件的屬性值來定義窗體的外觀。對話框的窗體與一般的窗體在外觀上是有區(qū)別的。對話框的窗體沒有控制菜單框及最大化和最小化按鈕,因此不能對其進(jìn)行改變大小的設(shè)置。六、實訓(xùn)10.1——打造自己的記事本1.需求分析和界面設(shè)計 大家應(yīng)該對記事本非常熟悉,記事本界面包括菜單欄和文字編輯區(qū)域。可以用剛學(xué)的MenuStrip來創(chuàng)建菜單,下面的編輯區(qū)域用文本框(TextBox)來實現(xiàn),不過用富文本框(RichTextBox)更適合。富文本框和文本框都是從TextBoxBase繼承而來。富文本框控件提供比標(biāo)準(zhǔn)TextBox控件更高級的格式設(shè)置功能。與字處理應(yīng)用程序(如MicrosoftWord)類似,它通常用于提供文本操作和顯示功能。富文本框控件能夠?qū)x定的文本設(shè)置字體和顏色,比文本框的功能要強大許多,其本身封裝了裝載文件和將其內(nèi)容寫入文件的方法,支持OLE對象的剪貼板和OLE拖放操作。富文本框控件支持三種格式的文件:純文本、UniCode純文本和RTF格式。六、實訓(xùn)10.1——打造自己的記事本2.實現(xiàn)文件菜單下各菜單項功能 完成了記事本界面的設(shè)計后,為程序添加相應(yīng)代碼,從而實現(xiàn)文件菜單下各菜單項功能。在程序的開始需要聲明本程序用到的全局變量,如標(biāo)示文本是否發(fā)生變化的變量。 在記事本中,用戶執(zhí)行“新建”、“保存”、“另存為”、“關(guān)閉”時,都要先檢查編輯框中的內(nèi)容是否改變。為了提高代碼利用率,菜單“新建”、“打開”、“保存”、“另存為”、“退出”的單擊事件可以重復(fù)利用

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論