版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《軟件技術(shù)》專業(yè)剖析報告
<可視化程序設(shè)計-C#>第4章菜單、工具欄、狀態(tài)欄與對話框
《軟件技術(shù)》專業(yè)剖析報告1
Windows風(fēng)格的界面由菜單、工具欄、狀態(tài)欄等組成,如學(xué)生檔案管理系統(tǒng)的主界面。圖4.1學(xué)生檔案管理系統(tǒng)主菜單界面Windows風(fēng)格的界面由菜單、工具欄、狀態(tài)欄等組成21.教學(xué)內(nèi)容(1)菜單設(shè)計:下拉菜單設(shè)計與彈出式菜單設(shè)計(2)工具欄設(shè)計(3)狀態(tài)欄設(shè)計(4)對話框使用(5)單文檔編輯器設(shè)計與MDI多窗體程序設(shè)計1.教學(xué)內(nèi)容3圖4.2單文檔編輯器設(shè)計示例圖4.2單文檔編輯器設(shè)計示例42.教學(xué)方法(項目式教學(xué)法)(1)以單文檔編輯器設(shè)計為教學(xué)案例介紹菜單、工具欄、狀態(tài)欄與對話框的設(shè)計與使用方法。(2)以學(xué)生檔案管理系統(tǒng)主界面設(shè)計為教學(xué)案例介紹MDI多窗體程序設(shè)計方法。
2.教學(xué)方法(項目式教學(xué)法)5【引例】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示,設(shè)計要求如表4.1所示。表4.1簡易文本編輯器的下拉式菜單結(jié)構(gòu)文件(&F)編輯(&E)視圖(&V)新建Ctrl+N剪切Ctrl+X頁面打開Ctrl+O復(fù)制Ctrl+C大綱保存Ctrl+S粘貼Ctrl+V文檔結(jié)構(gòu)--打印Ctrl+P工具常用預(yù)覽Ctrl+V格式-表格退出Ctrl+E4.1菜單設(shè)計【引例】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示64.1菜單設(shè)計圖4.3下拉式菜單的組成二級子菜單菜單項子菜單標(biāo)題子菜單提示符主菜單項分隔條主菜單一級子菜單熱鍵(Alt+V)快捷鍵(Ctrl+S)4.1菜單設(shè)計圖4.3下拉式菜單的組成二級子菜單項子菜單7菜單分為下拉式菜單與彈出式菜單4.1.1下拉式菜單設(shè)計1.菜單組成
主菜單:主菜單項1、主菜單項2、…、主菜單項n下拉式菜單……一級子菜單菜單項:表示一條命令或子菜單標(biāo)題二級子菜單快捷鍵(Ctrl+字母):直接執(zhí)行的命令鍵子菜單三級子菜單分隔條(-):區(qū)分不同功能的菜單項組四級子菜單子菜單提示符:表示有下級子菜單五級子菜單熱鍵:“&<字母>”用菜單控件menuStrip設(shè)計下拉式菜單。4.1菜單設(shè)計菜單分為下拉式菜單與彈出式菜單4.1菜單設(shè)計82.菜單控件menuStrip(1)作用:編輯制作下拉式菜單(2)添加菜單控件工具箱|菜單與工具欄|將menuStrip控件拖放到窗體內(nèi)。(3)設(shè)置菜單位置(Dock屬性)用Dock屬性設(shè)置菜單6種位置:Top(頂部)、Bottom(底部)、Left(左邊)、Right(右邊)、Fill(填滿)和None(不設(shè)置)。4.1.1下拉式菜單設(shè)計2.菜單控件menuStrip4.1.1下拉式菜單設(shè)計9(4)選擇菜單類型在新添加菜單項前,應(yīng)選擇菜單項類型。單擊“請在此處鍵入”右側(cè)的下拉按鈕,打開設(shè)置菜單項類型的下拉框,如圖4.4所示。有三種類型:MenuItem(菜單項)ComboBox(下拉框)TextBox(文本框)選擇MenuItem(菜單項)4.1.1下拉式菜單設(shè)計圖4.4選擇菜單項類型(4)選擇菜單類型4.1.1下拉式菜單設(shè)計圖4.410(5)輸入菜單項文本(Text屬性)單擊“請在此處鍵入”框體,輸入菜單項文本,如輸入“文件”,如圖4.5所示。也可用菜單項的Text屬性輸入菜單項文本。(6)輸入分隔條單擊“請在此處鍵入”下拉按鈕,選擇Separator,可輸入分隔條。如圖4.6所示。4.1.1下拉式菜單設(shè)計圖4.5輸入菜單項文本圖4.6輸入分隔條(5)輸入菜單項文本(Text屬性)4.1.1下拉式11(7)設(shè)置熱鍵(Text屬性)Text屬性:菜單項文本&<字母>在菜單項的Text屬性中輸入:菜單項文本&<字母>,可設(shè)置熱鍵。如在“文件”菜單項的Text屬性中輸入“文件(&F)”,則設(shè)置“文件”菜單項熱鍵為F。程序執(zhí)行時按Alt+F組合鍵可執(zhí)行“文件”主菜單項命令。4.1.1下拉式菜單設(shè)計(7)設(shè)置熱鍵(Text屬性)4.1.1下拉式菜單設(shè)計12(8)設(shè)置快捷鍵(ShortcutKeys屬性)用ShortcutKeys屬性可設(shè)置子菜單的快捷鍵。方法如下:單擊子菜單(如“新建”),在屬性對話框中單擊ShortcutKeys下拉按鈕,選擇Ctrl+N為快捷鍵,如圖4.7所示,則Ctrl+N成為“新建”子菜單的快捷鍵,當(dāng)按Ctrl+N組合鍵時,系統(tǒng)將執(zhí)行“新建”子菜單命令。4.1.1下拉式菜單設(shè)計圖4.7設(shè)置快捷鍵(8)設(shè)置快捷鍵(ShortcutKeys屬性)4.1.113(9)設(shè)置菜單項名稱Name先選擇菜單項,然后在屬性對話框中設(shè)置Name屬性。如設(shè)置文件菜單項的Name:menu_File(10)設(shè)置菜單事件雙擊子菜單項(如,新建),添加菜單的Click(單擊)事件,如下所示。privatevoidmenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}當(dāng)用戶點擊“新建”菜單時將彈出“新建文件!”對話框。4.1.1下拉式菜單設(shè)計(9)設(shè)置菜單項名稱Name4.1.1下拉式菜單設(shè)計14(11)刪除菜單項右擊菜單項|刪除,可刪除菜單項。(12)插入菜單項右擊菜單項|插入,可插入新的菜單項。(13)設(shè)置菜單項圖標(biāo)右擊菜單項|設(shè)置圖像|本地資源|導(dǎo)入|選擇圖片文件,可設(shè)置菜單項圖標(biāo)。4.1.1下拉式菜單設(shè)計(11)刪除菜單項4.1.1下拉式菜單設(shè)計15(14)設(shè)置菜單項有效(Enabled)屬性Enabled=true菜單項有效,Enabled=false菜單項無效(15)設(shè)置菜單項復(fù)選框(Checked)屬性Checked=true菜單項的復(fù)選框被選中,則該菜單項左邊加上檢查標(biāo)記“√”,表示該菜單項是一個被選項。4.1.1下拉式菜單設(shè)計(14)設(shè)置菜單項有效(Enabled)屬性4.1.1下拉16(16)項集合編輯器①作用:添加、修改和刪除菜單項。②啟動:單擊菜單控件Items屬性右邊省略按鈕。
③項集合編輯器界面(如圖4.8所示)左側(cè)上方下拉列表框可選擇要添加菜單項的類型,左側(cè)下方是已經(jīng)添加的菜單項列表,右側(cè)是選中菜單項的屬性列表。4.1.1下拉式菜單設(shè)計(16)項集合編輯器4.1.1下拉式菜單設(shè)計17圖4.8項集合編輯器界面圖4.8項集合編輯器界面184.1.1下拉式菜單設(shè)計④添加新菜單項單擊“添加”按鈕可以添加新菜單項。⑤刪除菜單項單擊刪除按鈕可刪除當(dāng)前菜單項⑥調(diào)整菜單項的位置選中菜單項后,單擊列表右側(cè)的上下箭頭按鈕,可調(diào)整菜單項之間的位置。4.1.1下拉式菜單設(shè)計④添加新菜單項194.1.1下拉式菜單設(shè)計⑦修改菜單項屬性在右側(cè)屬性列表中可修改菜單項的屬性。如修改Name、Text、ShortcutKeys等屬性。單擊菜單項的DropDownItems屬性右邊的省略按鈕,將顯示其對應(yīng)下一級子菜單項的成員。如,單擊“Menu_File”菜單項(文件)的DropDownItems屬性右邊的省略按鈕,將顯示文件菜單對應(yīng)下一級子菜單項的成員。如圖4.9所示。此時可編輯文件子菜項的屬性。4.1.1下拉式菜單設(shè)計⑦修改菜單項屬性20圖4.9文件菜單的子菜單成員圖4.9文件菜單的子菜單成員21【例4.1】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示,設(shè)計要求如表4.1所示。文件(&F)(File)編輯(&E)(Edit)視圖(&V)(View)新建(New)Ctrl+N剪切(Cut)Ctrl+X頁面(Page)打開(Open)Ctrl+O復(fù)制(Copy)Ctrl+C大綱(Outline)保存(Save)Ctrl+S粘貼(Paste)Ctrl+V文檔(Word)--打印(Print)Ctrl+P工具(Tools)常用(use)預(yù)覽(Review)Ctrl+R格式(Format)-表格(Table)退出(Exit)Ctrl+E4.1.1下拉式菜單設(shè)計【例4.1】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.122(1)新建解決方案ex4_1.sln存放在d:\C#\ex4_1目錄中。(2)新建項目ex4_1與窗體新建一個項目ex4_1,設(shè)置窗體屬性Text:下拉式菜單設(shè)計示例Name:frm_Menu(3)添加菜單控件工具箱|菜單與工具欄|將menuStrip添加到窗體中。4.1.1下拉式菜單設(shè)計(1)新建解決方案ex4_1.sln4.1.1下拉式菜單設(shè)23(4)使用menuStrip控件建立菜單①創(chuàng)建主菜單項Text:輸入“文件(&F)”(F鍵成為熱鍵)Name:Menu_File②創(chuàng)建子菜單項Text:新建Name:Menu_NewShortcutKeys:選擇Ctrl+N4.1.1下拉式菜單設(shè)計(4)使用menuStrip控件建立菜單4.1.1下拉式菜244.1.1下拉式菜單設(shè)計用同樣方法建立編輯與視圖菜單項及其子菜單。注意:菜單項的Name=Menu+菜單英文名。(5)建立菜單項事件過程為了使讀者能感受到菜單項命令的執(zhí)行效果,對“新建”、“打開”、“保存”與“退出”4個菜單項編寫事件過程。4.1.1下拉式菜單設(shè)計用同樣方法建立編輯與視圖菜單項及其25①編寫“新建”菜單項的事件過程在窗體設(shè)計器中,雙擊“新建”菜單項,進入代碼編輯器,輸入如下代碼:privatevoidMenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}4.1.1下拉式菜單設(shè)計①編寫“新建”菜單項的事件過程4.1.1下拉式菜單設(shè)計26②編寫“打開”菜單項的事件過程privatevoidMenu_Open_Click(objectsender,EventArgse){MessageBox.Show("打開文件!");}③編寫“保存”菜單項的事件過程privatevoidMenu_Save_Click(objectsender,EventArgse){MessageBox.Show("保存文件!");}4.1.1下拉式菜單設(shè)計②編寫“打開”菜單項的事件過程4.1.1下拉式菜單設(shè)計27④編寫“退出”菜單項的事件過程
privatevoidMenu_Exit_Click(objectsender,EventArgse){this.Close();}4.1.1下拉式菜單設(shè)計④編寫“退出”菜單項的事件過程4.1.1下拉式菜單設(shè)計28(7)編譯和運行程序執(zhí)行菜單命令:調(diào)試|啟動調(diào)試或按F5或按啟動快速按鈕,即可啟動執(zhí)行菜單程序。用鼠標(biāo)單擊菜單項,屏幕上將顯示對應(yīng)輸出信息。用熱鍵Alt+F,可啟動文件一級子菜單,用快捷鍵Ctrl+O可執(zhí)行“打開”菜單項命令,屏幕顯示“打開文件”信息,用快捷鍵Ctrl+E可執(zhí)行“退出”菜單項命令,系統(tǒng)將關(guān)閉程序。4.1.1下拉式菜單設(shè)計(7)編譯和運行程序4.1.1下拉式菜單設(shè)計294.1.2彈出式菜單設(shè)計(ContextMenuStrip控件)在Windows程序設(shè)計中廣泛采用彈出式菜單,如在Word菜單或工具欄區(qū)單擊鼠標(biāo)右鍵,出現(xiàn)有關(guān)菜單欄、工具欄等彈出式選擇菜單。在文本編輯區(qū)單擊鼠標(biāo)右鍵會出現(xiàn)有關(guān)文本編輯方面的彈出式菜單。在C#開發(fā)環(huán)境中,用ContextMenuStrip控件設(shè)計彈出式菜單。4.1.2彈出式菜單設(shè)計4.1.2彈出式菜單設(shè)計(ContextMenuStrip301.作用:設(shè)計彈出式菜單2.位置:工具箱|菜單和工具欄3.選擇菜單類型MenuItem(菜單項)ComboBox(下拉框)TextBox(文本框)選擇MenuItem(菜單項)4.1.2彈出式菜單設(shè)計1.作用:設(shè)計彈出式菜單4.1.2彈出式菜單設(shè)計314.輸入菜單項文本(Text屬性)單擊“請在此處鍵入”框體,輸入菜單項文本,如輸入“剪切”,也可用菜單項的Text屬性輸入菜單項文本。5、選擇關(guān)聯(lián)控件編輯控件(如richTextBox)均有ContextMenuStrip屬性,在ContextMenuStrip屬性欄中選擇ContextMenuStrip控件,則右擊編輯控件時,會出現(xiàn)ContextMenuStrip控件制作的彈出式菜單。4.1.2彈出式菜單設(shè)計4.輸入菜單項文本(Text屬性)4.1.2彈出式菜單32【例4.2】設(shè)計一個帶有下拉式菜單、彈出式菜單的文本編輯器,其工作界面如圖4.10所示。設(shè)計要求如下。在例4.1的窗體中添加一個RichTextBox控件作為圖文編輯器,用彈出式菜單實現(xiàn)文本編輯器的“復(fù)制、剪切、粘貼、清除”功能,程序設(shè)計過程如下。圖4.3彈出式菜單示例4.1.2彈出式菜單設(shè)計圖4.10彈出式菜單示例【例4.2】設(shè)計一個帶有下拉式菜單、彈出式菜單的文本編輯器,33(1)新建解決方案ex4_2.sln。(2)設(shè)置窗體屬性Name:frm_ContextMenu。Text:“下拉式菜單與彈出式菜單設(shè)計示例”。(3)將解決方案ex4_1.sln中的下拉菜單控件menuStrip1復(fù)制到frm_ContextMenu窗體中。(4)將ex4_1.sln中的所有事件處理程序復(fù)制到frm_ContextMenu窗體中。4.1.2彈出式菜單設(shè)計(1)新建解決方案ex4_2.sln。4.1.2彈出式菜34(5)在窗體中添加ContextMenuStrip1控件在彈出式菜單中添加四個子菜單項:Text:剪切、復(fù)制、粘貼、清除。Name:cm_Cut、cm_Copy、cm_Paste、cm_Clear(6)添加RichTextBox控件工具箱|公共控件|將RichTextBox添加到窗體。設(shè)置屬性Name:rtxt_Text。ContextMenuStrip:ContextMenuStrip1
RichTextBox是一種圖文編輯控件,具有類似于Word的文字編輯功能。4.1.2彈出式菜單設(shè)計(5)在窗體中添加ContextMenuStrip1控件4.35(7)編寫剪切事件處理過程privatevoidCut()//將剪切內(nèi)容存入剪切板中,清除剪切內(nèi)容{Clipboard.SetDataObject(rtxt_Text.SelectedText);rtxt_Text.SelectedText=String.Empty;}privatevoidcm_Cut_Click(objectsender,EventArgse){Cut();//單擊彈出式菜單的剪切子菜單時調(diào)用Cut函數(shù)
}
privatevoidMenu_Cut_Click(objectsender,EventArgse){Cut();//單擊下拉菜單的剪切子菜單時調(diào)用Cut函數(shù)}4.1.2彈出式菜單設(shè)計(7)編寫剪切事件處理過程4.1.2彈出式菜單設(shè)計36(8)編寫復(fù)制事件處理過程
privatevoidCopy(){//將選擇的文本置于系統(tǒng)剪貼板中Clipboard.SetDataObject(rtxt_Text.SelectedText);
}privatevoidcm_Copy_Click(objectsender,EventArgse){Copy();//單擊彈出式菜單的復(fù)制子菜單時調(diào)用Copy函數(shù)
}privatevoidMenu_Copy_Click(objectsender,EventArgse){Copy();//單擊下拉菜單的復(fù)制子菜單時調(diào)用Copy函數(shù)}4.1.2彈出式菜單設(shè)計(8)編寫復(fù)制事件處理過程4.1.2彈出式菜單設(shè)計37(9)編寫粘貼事件處理過程
privatevoidPaste()//將剪切板中內(nèi)容粘貼到編輯框中{IDataObjectiData=Clipboard.GetDataObject();if(iData.GetDataPresent(DataFormats.Text)){rtxt_Text.SelectedText= (String)iData.GetData(DataFormats.Text);}}
privatevoidcm_Paste_Click(objectsender,EventArgse){Paste();//單擊彈出式菜單的粘貼子菜單時調(diào)用Paste函數(shù)}privatevoidMenu_Paste_Click(objectsender,EventArgse){Paste();//單擊下拉菜單的粘貼子菜單時調(diào)用Paste函數(shù)}4.1.2彈出式菜單設(shè)計(9)編寫粘貼事件處理過程4.1.2彈出式菜單設(shè)計38(10)編寫清除事件處理過程
privatevoidcm_Clear_Click(objectsender,EventArgse){rtxt_Text.Text=String.Empty;//清除圖文編輯框內(nèi)}4.1.2彈出式菜單設(shè)計(10)編寫清除事件處理過程4.1.2彈出式菜單設(shè)計39(11)運行程序運行程序后,用鼠標(biāo)右擊RichTextBox1控件,則出現(xiàn)彈出式菜單,可進行文本的剪切、復(fù)制、粘貼與清除操作。也可用下拉式菜單中的剪切、復(fù)制、粘貼子菜單實現(xiàn)上述操作。4.1.2彈出式菜單設(shè)計(11)運行程序4.1.2彈出式菜單設(shè)計40C#使用ToolStrip控件設(shè)計工具欄,下面介紹ToolStrip控件的作用、位置、屬性與使用方法。1.作用用于設(shè)計工具欄。2.添加工具欄工具箱|菜單與工具欄|ToolStrip控件。3.工具欄位置(Dock屬性)用Dock屬性:Top、Left、Right、Bottom、None可設(shè)置工具欄在窗體中的位置。4.2工具欄設(shè)計C#使用ToolStrip控件設(shè)計工具欄,下面介紹ToolS414.添加按鈕(1)按鈕類型:有8種按鈕類型,如圖4.11所示。Button(工具欄按鈕)Label(工具欄標(biāo)簽)SplitButton(分割按鈕)DropDownButton(工具欄菜單按鈕)Separator(工具欄分割線)ComboBox(工具欄下拉框)TextBox(工具欄文本框)ProgressBar(工具欄進度條)4.2工具欄設(shè)計4.添加按鈕4.2工具欄設(shè)計42圖4.11工具欄的8種按鈕4.2工具欄設(shè)計圖4.11工具欄的8種按鈕4.2工具欄設(shè)計43(2)添加按鈕單擊ToolStrip控件的下拉按鈕(如圖4.11),出現(xiàn)選擇8種按鈕類型菜單,從中選擇所需按鈕類型,如單擊Button則工具欄中新增一個工具欄按鈕,單擊ComboBox則新增一個下拉組合框按鈕。5.刪除按鈕右擊按鈕|選擇刪除4.2工具欄設(shè)計(2)添加按鈕4.2工具欄設(shè)計446.按鈕屬性(1)Name(tbtn)):按鈕名稱(2)Text:按鈕文本(3)Image:按鈕圖標(biāo)(4)DisplayStype:共有4種顯示類型None:不顯示Text:顯示按鈕文本Image:顯示按鈕圖標(biāo)ImageandText:顯示按鈕文本與圖標(biāo)4.2工具欄設(shè)計6.按鈕屬性4.2工具欄設(shè)計45【例4.3】設(shè)計一個帶有下拉式菜單、彈出式菜單與工具欄的文本編輯器,其工作界面如圖4.8所示。設(shè)計要求如下:在例4.2的工程中增加工具欄,放置三個普通按鈕,分別用于RichTextBox控件中被選文本的復(fù)制、剪切、粘貼功能。在工具欄上放置二個組合框ComboBox,為RichTextBox控件中文本選擇字體與字號,如圖4.12所示。程序設(shè)計步驟如下。4.2工具欄設(shè)計【例4.3】設(shè)計一個帶有下拉式菜單、彈出式菜單與工具欄的文本46圖4.12菜單與工具欄設(shè)計示例4.2工具欄設(shè)計圖4.12菜單與工具欄設(shè)計示例4.2工具欄設(shè)計47(1)新建解決方案ex4_3.sln(2)設(shè)置窗體屬性Name:frm_ToolStrip。Text:“菜單與工具欄設(shè)計示例”。(3)將ex4_2中的menuStrip1、ContextMenuStrip1、rtxt_Text控件復(fù)制到frm_ToolStrip窗體中。(4)將ex4_2中的所有事件處理程序復(fù)制到frm_ToolStrip窗體中。4.2工具欄設(shè)計(1)新建解決方案ex4_3.sln4.2工具欄設(shè)計48(5)添加工具欄控件ToolStrip工具箱|公共控件|將ToolStrip添加到窗體(6)工具欄中添加按鈕在ToolStrip控件中添加三個普通按鈕,設(shè)置屬性:Name:tbtn_Cuttbtn_Copytbtn_PasteText:剪切復(fù)制粘貼Image:Cut.bmpCopy.bmpPaste.bmpDisplayStype:ImageandText:4.2工具欄設(shè)計(5)添加工具欄控件ToolStrip4.2工具欄設(shè)計49(7)編寫單擊工具欄按鈕事件過程
privatevoidtbtn_Cut_Click(objectsender,EventArgse){Cut();}privatevoidtbtn_Copy_Click(objectsender,EventArgse){Copy();}privatevoidtbtn_Paste_Click(objectsender,EventArgse){Paste();}4.2工具欄設(shè)計(7)編寫單擊工具欄按鈕事件過程4.2工具欄設(shè)計50(8)工具欄中添加兩個存放字體與字號的ComboBox組合框Name:tcbo_Font:存放字體tcbo_Size:存放字號。tcbo_Font.Items:宋體黑體楷體tcbo_Size.Items:10,14,20,30,40,50,604.2工具欄設(shè)計(8)工具欄中添加兩個存放字體與字號的ComboBox組合框51(9)編寫單擊tcbo_Font組合列表框事件過程
privatevoidSetFont(){if(rtxt_Text.Text.Length!=0){rtxt_Text.SelectionFont=newFont(tcbo_Font.Text,rtxt_Text.SelectionFont.Size);}}privatevoidtcbo_Font_SelectedIndexChanged(objectsender,EventArgse){SetFont();}4.2工具欄設(shè)計(9)編寫單擊tcbo_Font組合列表框事件過程4.2工52(10)編寫單擊tcbo_Size組合框列表事件過程
privatevoidSetSize(){if(rtxt_Text.Text.Length!=0){intdSize=0;dSize=Convert.ToInt32(tcbo_Size.Text);rtxt_Text.SelectionFont=newFont(rtxt_Text.Font.Name,dSize);}}
privatevoidtcbo_Size_SelectedIndexChanged(objectsender,EventArgse){SetSize();}4.2工具欄設(shè)計(10)編寫單擊tcbo_Size組合框列表事件過程4.53(11)程序運行當(dāng)程序運行后,先在rtxt_Text文本編輯框中輸入“中華人民共和國”,選中“中華人民共和國”,用鼠標(biāo)單擊tcbo_Font的下拉按鈕選擇“黑體”,單擊tcbo_Size的下拉按鈕選擇40號字體,再單擊“復(fù)制”按鈕,打回車使光標(biāo)移到下一行,再單擊“粘貼”按鈕,則40號楷體的“中華人民共和國”被復(fù)制到下一行,如圖4.12所示。作業(yè):(1)在自己筆記本電腦上完成例4-1、例4-2、例4-3設(shè)計任務(wù)。(2)習(xí)題四4.5,4.10
4.2工具欄設(shè)計(11)程序運行4.2工具欄設(shè)計544.3狀態(tài)欄設(shè)計狀態(tài)欄是Windows風(fēng)格程序界面的組成部分,用于Windows窗體下方狀態(tài)信息的顯示。如:光標(biāo)位置、日期、時間等狀態(tài)信息。狀態(tài)欄是用狀態(tài)欄控件StatusStrip控件設(shè)計的,下面介紹StatusStrip控件的作用、屬性與應(yīng)用舉例。4.3狀態(tài)欄設(shè)計狀態(tài)欄是Windows風(fēng)格程序界面的組成551.作用StatusStrip控件用于設(shè)計狀態(tài)欄。狀態(tài)欄由一組窗格組成,用于顯示當(dāng)前工作狀態(tài)。2.添加狀態(tài)欄工具箱|菜單與工具欄|StatusStrip控件。3.狀態(tài)欄位置(Dock屬性)用Dock屬性:Top、Left、Right、Bottom、None可設(shè)置工具欄在窗體中的位置。4.3狀態(tài)欄設(shè)計1.作用4.3狀態(tài)欄設(shè)計564.添加窗格(1)窗格類型有4種窗格類型(如圖4.13所示):StatusLabel:狀態(tài)欄標(biāo)簽ProgressBar:狀態(tài)欄進度條DropDownButton:狀態(tài)欄菜單按鈕SplitButton:狀態(tài)欄分隔按鈕4.3狀態(tài)欄設(shè)計4.添加窗格4.3狀態(tài)欄設(shè)計57(2)添加窗格單擊StatusStrip控件的下拉按鈕(如圖4.13),出現(xiàn)選擇4種窗格類型菜單,從中選擇所需窗格類型,如單擊StatusLabel則狀態(tài)欄中新增一個標(biāo)簽窗格,單擊SplitButton則新增一個狀態(tài)欄分隔按鈕。5.刪除窗格右擊窗格|選擇刪除4.3狀態(tài)欄設(shè)計(2)添加窗格4.3狀態(tài)欄設(shè)計586.窗格屬性(1)Name(slbl):窗格名稱(2)Text:窗格文本(3)Image:窗格圖標(biāo)(4)DisplayStype:共有4種顯示類型None:不顯示Text:顯示窗格文本Image:顯示窗格圖標(biāo)ImageandText:顯示窗格文本與圖標(biāo)4.3狀態(tài)欄設(shè)計6.窗格屬性4.3狀態(tài)欄設(shè)計59圖4.13狀態(tài)欄的4各種窗格類型4.3狀態(tài)欄設(shè)計圖4.13狀態(tài)欄的4各種窗格類型4.3狀態(tài)欄設(shè)計60【例4.4】設(shè)計一個帶有下拉式菜單、彈出式菜單、工具欄與狀態(tài)欄的文本編輯器,其工作界面如圖4.13所示。設(shè)計要求如下:在例4.3的工程中添加狀態(tài)欄控件StatusStrip,狀態(tài)欄共有2個標(biāo)簽,分別顯示當(dāng)前光標(biāo)的坐標(biāo)位置(x、y)、日期與時間,如圖4.14所示。4.3狀態(tài)欄設(shè)計【例4.4】設(shè)計一個帶有下拉式菜單、彈出式菜單、工具欄與狀態(tài)61圖4.14菜單、工具欄與狀態(tài)欄設(shè)計示例4.3狀態(tài)欄設(shè)計圖4.14菜單、工具欄與狀態(tài)欄設(shè)計示例4.3狀態(tài)欄設(shè)計62(1)打開解決方案ex4_1.sln,新建項目ex4_4,將ex4_4設(shè)置為起動項目。(2)設(shè)置窗體屬性Name:frm_Status。Text:“菜單、工具欄與狀態(tài)欄設(shè)計示例”。(3)將項目ex4_3中的menuStrip1、ContextMenuStrip1、ToolStrip1、rtxtText控件復(fù)制到frm_Status窗體中。(4)將項目ex4_3中的所有事件處理程序復(fù)制到frm_Status窗體中。4.3狀態(tài)欄設(shè)計(1)打開解決方案ex4_1.sln,新建項目ex4_4,將63(5)添加狀態(tài)欄控件StatusStrip工具箱|公共控件|將StatusStrip添加到窗體(6)狀態(tài)欄中添加標(biāo)簽在StatusStrip控件中添加2個標(biāo)簽,設(shè)置屬性:Name:slbl_XYslbl_DateText:X:0,Y:0日期:時間:4.3狀態(tài)欄設(shè)計(5)添加狀態(tài)欄控件StatusStrip4.3狀態(tài)欄設(shè)64(7)窗體上添加時間控件Timer(在組件欄中)①將Timer控件放置在窗體中。②設(shè)置Interval屬性為1000,即每隔1000ms=1s觸發(fā)一次的Timer事件過程。Enabled=True。③Timer事件過程代碼privatevoidtimer1_Tick(objectsender,EventArgse){slbl_Date.Text="日期:時間:"+Convert.ToString(DateTime.Now);}④說明:在過程中將系統(tǒng)日期Now賦給狀態(tài)欄的第2個標(biāo)簽,即每隔1秒鐘刷新一次日期與時間。4.3狀態(tài)欄設(shè)計(7)窗體上添加時間控件Timer(在組件欄中)4.3狀65(8)編寫事件過程代碼①顯示當(dāng)前光標(biāo)位置(x,y)privatevoidrtxt_Text_MouseMove(objectsender,MouseEventArgse){slbl_XY.Text="X:"+Convert.ToString(e.X)+"Y:"+Convert.ToString(e.Y);}4.3狀態(tài)欄設(shè)計(8)編寫事件過程代碼4.3狀態(tài)欄設(shè)計66(9)運行程序在文本編輯器上移動鼠標(biāo),狀態(tài)欄第1窗格顯示光標(biāo)x,y坐標(biāo)。第2個窗格中顯示當(dāng)前日期與時間,每隔1秒種更新一次。4.3狀態(tài)欄設(shè)計(9)運行程序4.3狀態(tài)欄設(shè)計67在C#應(yīng)用程序中對話框用于與用戶交互,C#.NET中工具箱中提供5種類型的對話框控件,如圖4.15所示。OpenFileDialog控件:打開文件對話框SaveFileDialog控件:保存文件對話框PrintDialog控件:打印文件對話框ColorDialog:顏色對話框FontDialog:字體對話框其中:PrintDialog在打印類中。4.4對話框設(shè)計圖4.15對話框控件在C#應(yīng)用程序中對話框用于與用戶交互,C#.NET中工具箱684.4對話框設(shè)計1.OpenFileDialog控件(1)作用:打開文件(2)位置:工具箱|對話框|OpenFileDialog(3)屬性①FileName屬性:用于設(shè)置或返回文件名。②Filter屬性:用于文件過濾器,格式為:描述1|過濾器1|描述2|過濾器2…。例如:所有文件(*.*)|*.*|RTF格式(*.RTF)|*.rtf|文本文件(*.txt)|*.txt打開文件的文件過濾器效果如圖4.11下部的文件類型所示。4.4對話框設(shè)計1.OpenFileDialog控件69③FilterIndex屬性:用于指定默認(rèn)的文件過濾器。例如:FilterIndex=2;表示指定默認(rèn)文件過濾器為*.rtf。(4)方法ShowDialog():用于顯示打開文件對話框,當(dāng)返回OK值時表示打開文件對話框成功。例如:
if(openFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.LoadFile(openFileDialog1.FileName);}4.4對話框設(shè)計③FilterIndex屬性:用于指定默認(rèn)的文件過濾器。4704.4對話框設(shè)計2.SaveFileDialog控件(1)作用:保存文件(2)位置:工具箱|對話框|SaveFileDialog(3)屬性:與OpenFileDialog相同。(4)方法:ShowDialog():用于顯示保存文件對話框,當(dāng)返回OK值時表示打開保存文件對話框成功。例如:
if(saveFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SaveFile(saveFileDialog1.FileName);}4.4對話框設(shè)計2.SaveFileDialog控件714.4對話框設(shè)計3.PrintDialog控件(1)作用:打印文件(2)位置:工具箱|打印|PrinteDialog(3)屬性:與OpenFileDialog相同。(4)方法:ShowDialog():用于顯示打印文件對話框,當(dāng)返回OK值時表示打開打印文件對話框成功。例如:
if(printDialog1.ShowDialog()==DialogResult.OK){…}
4.4對話框設(shè)計3.PrintDialog控件724.4對話框設(shè)計4.FontDialog控件(1)作用:設(shè)置字體(2)位置:工具箱|對話框|FontDialog(3)屬性:與OpenFileDialog相同。(4)方法:ShowDialog():用于顯示設(shè)置字體對話框,當(dāng)返回OK值時表示打開設(shè)置字體對話框成功。例如:if(fontDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionFont=fontDialog1.Font;}4.4對話框設(shè)計4.FontDialog控件734.4對話框設(shè)計5.ColorDialog控件(1)作用:設(shè)置顏色(2)位置:工具箱|對話框|ColorDialog(3)屬性:與OpenFileDialog相同。(4)方法:ShowDialog():用于顯示設(shè)置顏色對話框,當(dāng)返回OK值時表示打開設(shè)置顏色對話框成功。例如:
if(colorDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionColor=colorDialog1.Color;}4.4對話框設(shè)計5.ColorDialog控件74【例4.5】設(shè)計帶有下拉式菜單、彈出式菜單、工具欄與狀態(tài)欄的單文檔編輯器,設(shè)計要求如下:(1)在下拉式菜單的“打開”、“保存”、“打印”、“顏色”與“字體”5個菜單項單擊事件中,用“打開”、“保存”、“打印”、“顏色”與“字體”對話框,完成文件的打開、保存、打印工作,完成RichTexBox控件中被選文本的顏色與字體的設(shè)置工作。4.4對話框設(shè)計【例4.5】設(shè)計帶有下拉式菜單、彈出式菜單、工具欄與狀態(tài)欄的75(2)在窗體中添加一個工具欄,在此工具欄中添加5個按鈕,分別用于文件的打開(Open)、保存(Save)、打?。≒rint)、顏色(Color)、字體(Font)的操作。(3)在狀態(tài)欄中顯示打開文件的信息,如圖4.16所示。4.4對話框設(shè)計(2)在窗體中添加一個工具欄,在此工具欄中添加5個按鈕,分別76圖4.16單文檔編輯器設(shè)計示例圖4.16單文檔編輯器設(shè)計示例77(1)打開解決方案ex4_1.sln,新建項目ex4_5,將ex4_5設(shè)置為起動項目。(2)設(shè)置窗體屬性Name:frm_RichTextBox。Text:“單文檔編輯器設(shè)計示例”。(3)將項目ex4_4中的所有控件復(fù)制到frm_RichTextBox窗體中。(4)將項目ex4_4中的所有事件處理程序復(fù)制到frm_RichTextBox窗體中。4.4對話框設(shè)計(1)打開解決方案ex4_1.sln,新建項目ex4_5,將784.4對話框設(shè)計(5)狀態(tài)欄中添加一個標(biāo)簽在StatusStrip控件中添加1個標(biāo)簽,設(shè)置屬性:Name:tlbl_FileText:“文件:”(6)添加工具欄ToolStrip2在工具欄中添加5個按鈕,設(shè)置屬性如下:Name:tbtn_Opentbtn_Savetbtn_Printtbtn_Colortbtn_FontText:打開保存打印機顏色字體Image:Open.bmpSave.bmpPrint.bmpColor.bmpFont.bmp4.4對話框設(shè)計(5)狀態(tài)欄中添加一個標(biāo)簽79(7)在下拉菜單的“編輯”主菜單中增加“顏色”與“字體”兩個子菜單。Name:Menu_ColorMenu_FontText:顏色字體(8)添加打開、保存、打印、顏色、字體5個對話框控件:添加openFileDialog1控件,設(shè)置屬性如下:4.4對話框設(shè)計(7)在下拉菜單的“編輯”主菜單中增加“顏色”與“字體”兩個80Filter:所有文件(*.*)|*.*|RTF格式(*.RTF)|*.rtf|文本文件(*.txt)|*.txtFilterIndex:2用同樣方法添加saveFileDialog1、printDialog1、fontDialog1、colorDialog1四個控件,并設(shè)置屬性。4.4對話框設(shè)計Filter:所有文件(*.*)|*.*|RTF格式(*.81(9)編寫“打開”按鈕事件處理過程privatevoidtbtn_Open_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.LoadFile(openFileDialog1.FileName);slbl_File.Text=Convert.ToString(openFileDialog1.FileName);}}4.4對話框設(shè)計(9)編寫“打開”按鈕事件處理過程4.4對話框設(shè)計82(10)編寫“保存”按鈕事件處理過程privatevoidtbtn_Save_Click(objectsender,EventArgse){if(saveFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SaveFile(saveFileDialog1.FileName);slbl_File.Text=Convert.ToString(saveFileDialog1.FileName);}}4.4對話框設(shè)計(10)編寫“保存”按鈕事件處理過程4.4對話框設(shè)計83(11)編寫“打印”按鈕事件處理過程privatevoidtbtn_Print_Click(objectsender,EventArgse){if(printDialog1.ShowDialog()==DialogResult.OK){slbl_File.Text=Convert.ToString(printDialog1.PrintToFile);}}4.4對話框設(shè)計(11)編寫“打印”按鈕事件處理過程4.4對話框設(shè)計84(12)編寫“顏色”按鈕事件處理過程privatevoidtbtn_Color_Click(objectsender,EventArgse){if(colorDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionColor=colorDialog1.Color;}}4.4對話框設(shè)計(12)編寫“顏色”按鈕事件處理過程4.4對話框設(shè)計85(13)編寫“字體”按鈕事件處理過程privatevoidtbtn_Font_Click(objectsender,EventArgse){if(fontDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionFont=fontDialog1.Font;}}4.4對話框設(shè)計(13)編寫“字體”按鈕事件處理過程4.4對話框設(shè)計86(14)設(shè)置打開、保存、打印、顏色、字體子菜單事件處理過程先在菜單控件中選擇“打開”子菜單,然后在事件對話框中單擊Click事件右邊的下拉按鈕,從下拉列表中選擇“打開”按鈕事件處理過程tbtn_Open_Click,則當(dāng)程序執(zhí)行后,單擊打開子菜單項時,會調(diào)用“打開”按鈕事件處理過程tbtn_Open_Click過程。如圖4.17所示。用類似方法設(shè)置保存、打印、顏色、字體子菜單事件處理過程。
4.4對話框設(shè)計(14)設(shè)置打開、保存、打印、顏色、字體子菜單事件處理過程487圖4.17選擇打開按鈕事件處理過程圖4.17選擇打開按鈕事件處理過程88(1)狀態(tài)欄設(shè)計(StatusBar控件)用StatusBar屬性頁可添加窗格,設(shè)置窗格的顯示樣式與內(nèi)容。用Panels(i)的子屬性Text、Key、MinWidth、Alignment、Style、Bevel動態(tài)設(shè)置第i個窗格的顯示樣式與內(nèi)容。(2)通用對話框設(shè)計(CommonDialog控件)用ShowOpen、ShowSave、ShowPrinter方法打開、保存與打印文件;用FileName屬性設(shè)置或返回要“打開”、“保存”、“打印”的文件名。本次課小結(jié)(1)狀態(tài)欄設(shè)計(StatusBar控件)本次課小結(jié)89用ShowFont、ShowColor方法設(shè)置字體與顏色;用Flags屬性設(shè)置初始顏色;用Color屬性返回顏色;用Flags屬性設(shè)置初始字體;用FontSize等屬性返回字體大小等信息。思考題:4.12作業(yè):4.11、4.13、4.14實驗4.3本次課小結(jié)用ShowFont、ShowColor方法設(shè)置字體與顏色;本904.5MDI多窗體程序設(shè)計
單文檔界面(SDI)如:記事本(NotePad),只能打開一個文檔用戶界面
多文檔界面(MDI)如:Excel、Word,可同時打開多個文檔,每個文檔都顯示在自己的窗口中。這類用戶界面稱為多文檔用戶界面,即MDI。4.5MDI多窗體程序設(shè)計914.5MDI多窗體程序設(shè)計 MDI主窗體:下拉式菜單或工具欄MDI子窗體1:工作界面1MDI多窗體程序 MDI子窗體2:工作界面2 ……MDI子窗體n:工作界面n說明:通常在主窗體內(nèi)設(shè)計下拉式菜單或工具欄,執(zhí)行菜單項命令或者工具欄中按鈕命令時調(diào)用子窗體程序?,F(xiàn)介紹創(chuàng)建MDI主窗體與子窗體的方法,及在主窗體內(nèi)調(diào)用子窗體程序的方法。4.5MDI多窗體程序設(shè)計 92圖4.18學(xué)生檔案管理主菜單設(shè)計界面圖4.18學(xué)生檔案管理主菜單設(shè)計界面931.創(chuàng)建MDI主窗體(1)新建解決方案,將解決方案中新建窗體設(shè)置為MDI多文檔窗體將窗體的IsMdiContainer屬性設(shè)置為true;即:IsMdiContainer=True則窗體的背景色變?yōu)榈谏?,表示該窗體為多文檔主窗體。(2)在MDI主窗體中添加下拉式菜單,單擊子菜單項調(diào)用子窗體程序,顯示子窗體界面。4.5MDI多窗體程序設(shè)計1.創(chuàng)建MDI主窗體4.5MDI多窗體程序設(shè)計942.創(chuàng)建MDI子窗體(1)在項目中添加Windows窗體解決方案資源管理器|右擊項目|添加|Windows窗體|選擇Windows窗體|名稱:Name屬性,如Form_XSDA11。(2)用窗體類定義對象<Form類><窗體對象>=new<Form類>();(3)設(shè)置窗體對象為子窗體<窗體對象>.MdiParent=this;4.5MDI多窗體程序設(shè)計2.創(chuàng)建MDI子窗體4.5MDI多窗體程序設(shè)計95(4)調(diào)用窗體對象,顯示窗體界面<窗體對象>.Show();即在主窗體的子菜單(Menu_11)單擊事件中編寫下列程序:privatevoidMenu_11_Click(objectsender,EventArgse){Form_XSDA11frmXsda=newForm_XSDA11();frmXsda.MdiParent=this;frmXsda.Show();}4.5MDI多窗體程序設(shè)計(4)調(diào)用窗體對象,顯示窗體界面4.5MDI多窗體程序設(shè)計964.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計學(xué)生檔案管理系統(tǒng)由1個MDI主窗體與6個MDI子窗體組成,MDI主窗體由下拉式菜單、工具欄、狀態(tài)欄組成,用戶單擊菜單項命令能調(diào)用相應(yīng)的子窗體程序,且已打開的子窗體標(biāo)題能在“啟動窗口”主菜單項中列出,如圖4.15所示。子窗體中界面與程序代碼設(shè)計將結(jié)合學(xué)生檔案管理系統(tǒng)的各功能模塊在第5章到第10章中分別介紹。4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計學(xué)生檔案管理系統(tǒng)由1個MD97圖4.18學(xué)生檔案管理主菜單設(shè)計界面圖4.18學(xué)生檔案管理主菜單設(shè)計界面98【例4.6】建立MDI多文檔“學(xué)生檔案管理系統(tǒng)”主窗體以及校歷、學(xué)生檔案錄入、學(xué)生檔案查詢、學(xué)生檔案統(tǒng)計、學(xué)生檔案打印和系統(tǒng)維護子窗體。程序設(shè)計步驟如下。(1)新建學(xué)生檔案管理系統(tǒng)解決方案:xsdagl.sln。(2)設(shè)置MDI主窗體屬性Name:Form_MainText:學(xué)生檔案管理系統(tǒng)IsMdiContainer:trueWindowsState:Maximized4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計【例4.6】建立MDI多文檔“學(xué)生檔案管理系統(tǒng)”主窗體以及校99(3)創(chuàng)建6個MDI子窗體解決方案資源管理器|右擊項目xsdagl|添加|Windows窗體|選擇Windows窗體|名稱:窗體的Name屬性,按下表設(shè)置窗體屬性。4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計子窗體NameText校歷子窗體Form_XSDA11校歷管理程序?qū)W生檔案錄入子窗體Form_XSDA21學(xué)生檔案錄入程序?qū)W生檔案查詢子窗體Form_XSDA31學(xué)生檔案查詢程序?qū)W生檔案統(tǒng)計子窗體Form_XSDA41學(xué)生檔案統(tǒng)計程序?qū)W生檔案打印子窗體Form_XSDA51學(xué)生檔案打印程序系統(tǒng)維護子窗體Form_XSDA61系統(tǒng)維護程序(3)創(chuàng)建6個MDI子窗體4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計100(4)建立“學(xué)生檔案管理”主窗體的下拉式菜單,其內(nèi)容如表4.8所示。校歷學(xué)生檔案錄入學(xué)生檔案查詢學(xué)生檔案統(tǒng)計學(xué)生檔案打印系統(tǒng)維護窗口校歷管理學(xué)生檔案錄入學(xué)生檔案查詢(組合)學(xué)生檔案統(tǒng)計學(xué)生檔案打印系部代碼維護層疊退出(&E)學(xué)生宿舍錄入學(xué)生檔案查詢(樹形)獲獎學(xué)生統(tǒng)計學(xué)生宿舍打印班級代碼維護平鋪分隔線學(xué)生檔案查詢(分頁)學(xué)生獎懲打印課程編碼維護垂直學(xué)生獎懲錄入分隔線學(xué)生注冊打印分隔線排列分隔線學(xué)生獎懲查詢分隔線文本編輯器學(xué)生注冊班級代碼查詢班級報表打印多媒體播放器用戶賬號維護4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計(4)建立“學(xué)生檔案管理”主窗體的下拉式菜單,其內(nèi)容如表4.101在主窗體中添加menuStrip控件,按表4.7要求輸入主菜單與子菜單文本,各菜單項的Name屬性按下列命名規(guī)則設(shè)置。菜單項名字命名規(guī)則是:主菜單從Menu_1~Menu_7,一級子菜單(含分隔條)是按二維數(shù)組M(8,7)的元素Mij方式命名的。從“校歷管理”子菜單項Menu_11到“排列”子菜單項Menu_74。4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計在主窗體中添加menuStrip控件,按表4.7要求輸入主菜102(5)添加狀態(tài)欄在主窗體添加狀態(tài)欄,放置2個窗格,分別顯示當(dāng)前日期與時間,用于顯示當(dāng)前激活的窗體名稱,設(shè)置屬性如下。Name:slbl_Dateslbl_WindowsText:日期:時間當(dāng)前激活窗體:(6)建立菜單項事件過程①在主窗體中選擇并雙擊“退出”子菜單privatevoidMenu_12_Click(objectsender,EventArgse){this.Close();}4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計(5)添加狀態(tài)欄4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計103②編寫調(diào)用校歷管理子窗體的事件過程privatevoidMenu_11_Click(objectsender,EventArgse){Form_XSDA11frmXsda=newForm_XSDA11();frmXsda.MdiParent=this;frmXsda.Show();slbl_File.Text="當(dāng)前窗體:"+frmXsda.Text;}用同樣方法編寫調(diào)用其余5個子窗體的事件過程。4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計②編寫調(diào)用校歷管理子窗體的事件過程4.6學(xué)生檔案管理系統(tǒng)104(7)添加定時器Timer設(shè)置屬性:Enabled:True;Interval:1000(8)編寫Timer事件處理程序在狀態(tài)欄中顯示當(dāng)前日期與時間
privatevoidtimer1_Tick(objectsender,EventArgse){slbl_Date.Text="日期:時間:"+Convert.ToString(DateTime.Now);}4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計(7)添加定時器Timer4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計105(9)添加工具欄在主窗體添加工具欄,放置5個按鈕,分別用于校歷、錄入、查詢、統(tǒng)計、打印子窗體的快速調(diào)用。設(shè)置屬如下:Name:tbtn_Calendartbtn_Importtbtn_Find…tbtn_PrintText:校歷錄入查詢…打印Image:自定DisplayStyle:ImageAndText4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計(9)添加工具欄4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計106(10)設(shè)置按鈕單擊事件單擊校歷按鈕,在事件對話框中單擊Click右邊下攔按鈕,選擇校歷菜單單擊事件Menu_11_Click。如圖4.19所示。用類似方法設(shè)置其它四個按鈕單擊事件。4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計(10)設(shè)置按鈕單擊事件4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計107圖4.19設(shè)置校歷按鈕事件處理過程4.6學(xué)生檔案管理系統(tǒng)窗體設(shè)計圖4.19設(shè)置校歷按鈕事件處理過程4.6學(xué)生檔案管理108《軟件技術(shù)》專業(yè)剖析報告
<可視化程序設(shè)計-C#>第4章菜單、工具欄、狀態(tài)欄與對話框
《軟件技術(shù)》專業(yè)剖析報告109
Windows風(fēng)格的界面由菜單、工具欄、狀態(tài)欄等組成,如學(xué)生檔案管理系統(tǒng)的主界面。圖4.1學(xué)生檔案管理系統(tǒng)主菜單界面Windows風(fēng)格的界面由菜單、工具欄、狀態(tài)欄等組成1101.教學(xué)內(nèi)容(1)菜單設(shè)計:下拉菜單設(shè)計與彈出式菜單設(shè)計(2)工具欄設(shè)計(3)狀態(tài)欄設(shè)計(4)對話框使用(5)單文檔編輯器設(shè)計與MDI多窗體程序設(shè)計1.教學(xué)內(nèi)容111圖4.2單文檔編輯器設(shè)計示例圖4.2單文檔編輯器設(shè)計示例1122.教學(xué)方法(項目式教學(xué)法)(1)以單文檔編輯器設(shè)計為教學(xué)案例介紹菜單、工具欄、狀態(tài)欄與對話框的設(shè)計與使用方法。(2)以學(xué)生檔案管理系統(tǒng)主界面設(shè)計為教學(xué)案例介紹MDI多窗體程序設(shè)計方法。
2.教學(xué)方法(項目式教學(xué)法)113【引例】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示,設(shè)計要求如表4.1所示。表4.1簡易文本編輯器的下拉式菜單結(jié)構(gòu)文件(&F)編輯(&E)視圖(&V)新建Ctrl+N剪切Ctrl+X頁面打開Ctrl+O復(fù)制Ctrl+C大綱保存Ctrl+S粘貼Ctrl+V文檔結(jié)構(gòu)--打印Ctrl+P工具常用預(yù)覽Ctrl+V格式-表格退出Ctrl+E4.1菜單設(shè)計【引例】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示1144.1菜單設(shè)計圖4.3下拉式菜單的組成二級子菜單菜單項子菜單標(biāo)題子菜單提示符主菜單項分隔條主菜單一級子菜單熱鍵(Alt+V)快捷鍵(Ctrl+S)4.1菜單設(shè)計圖4.3下拉式菜單的組成二級子菜單項子菜單115菜單分為下拉式菜單與彈出式菜單4.1.1下拉式菜單設(shè)計1.菜單組成
主菜單:主菜單項1、主菜單項2、…、主菜單項n下拉式菜單……一級子菜單菜單項:表示一條命令或子菜單標(biāo)題二級子菜單快捷鍵(Ctrl+字母):直接執(zhí)行的命令鍵子菜單三級子菜單分隔條(-):區(qū)分不同功能的菜單項組四級子菜單子菜單提示符:表示有下級子菜單五級子菜單熱鍵:“&<字母>”用菜單控件menuStrip設(shè)計下拉式菜單。4.1菜單設(shè)計菜單分為下拉式菜單與彈出式菜單4.1菜單設(shè)計1162.菜單控件menuStrip(1)作用:編輯制作下拉式菜單(2)添加菜單控件工具箱|菜單與工具欄|將menuStrip控件拖放到窗體內(nèi)。(3)設(shè)置菜單位置(Dock屬性)用Dock屬性設(shè)置菜單6種位置:Top(頂部)、Bottom(底部)、Left(左邊)、Right(右邊)、Fill(填滿)和None(不設(shè)置)。4.1.1下拉式菜單設(shè)計2.菜單控件menuStrip4.1.1下拉式菜單設(shè)計117(4)選擇菜單類型在新添加菜單項前,應(yīng)選擇菜單項類型。單擊“請在此處鍵入”右側(cè)的下拉按鈕,打開設(shè)置菜單項類型的下拉框,如圖4.4所示。有三種類型:MenuItem(菜單項)ComboBox(下拉框)TextBox(文本框)選擇MenuItem(菜單項)4.1.1下拉式菜單設(shè)計圖4.4選擇菜單項類型(4)選擇菜單類型4.1.1下拉式菜單設(shè)計圖4.4118(5)輸入菜單項文本(Text屬性)單擊“請在此處鍵入”框體,輸入菜單項文本,如輸入“文件”,如圖4.5所示。也可用菜單項的Text屬性輸入菜單項文本。(6)輸入分隔條單擊“請在此處鍵入”下拉按鈕,選擇Separator,可輸入分隔條。如圖4.6所示。4.1.1下拉式菜單設(shè)計圖4.5輸入菜單項文本圖4.6輸入分隔條(5)輸入菜單項文本(Text屬性)4.1.1下拉式119(7)設(shè)置熱鍵(Text屬性)Text屬性:菜單項文本&<字母>在菜單項的Text屬性中輸入:菜單項文本&<字母>,可設(shè)置熱鍵。如在“文件”菜單項的Text屬性中輸入“文件(&F)”,則設(shè)置“文件”菜單項熱鍵為F。程序執(zhí)行時按Alt+F組合鍵可執(zhí)行“文件”主菜單項命令。4.1.1下拉式菜單設(shè)計(7)設(shè)置熱鍵(Text屬性)4.1.1下拉式菜單設(shè)計120(8)設(shè)置快捷鍵(ShortcutKeys屬性)用ShortcutKeys屬性可設(shè)置子菜單的快捷鍵。方法如下:單擊子菜單(如“新建”),在屬性對話框中單擊ShortcutKeys下拉按鈕,選擇Ctrl+N為快捷鍵,如圖4.7所示,則Ctrl+N成為“新建”子菜單的快捷鍵,當(dāng)按Ctrl+N組合鍵時,系統(tǒng)將執(zhí)行“新建”子菜單命令。4.1.1下拉式菜單設(shè)計圖4.7設(shè)置快捷鍵(8)設(shè)置快捷鍵(ShortcutKeys屬性)4.1.1121(9)設(shè)置菜單項名稱Name先選擇菜單項,然后在屬性對話框中設(shè)置Name屬性。如設(shè)置文件菜單項的Name:menu_File(10)設(shè)置菜單事件雙擊子菜單項(如,新建),添加菜單的Click(單擊)事件,如下所示。privatevoidmenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}當(dāng)用戶點擊“新建”菜單時將彈出“新建文件!”對話框。4.1.1下拉式菜單設(shè)計(9)設(shè)置菜單項名稱Name4.1.1下拉式菜單設(shè)計122(11)刪除菜單項右擊菜單項|刪除,可刪除菜單項。(12)插入菜單項右擊菜單項|插入,可插入新的菜單項。(13)設(shè)置菜單項圖標(biāo)右擊菜單項|設(shè)置圖像|本地資源|導(dǎo)入|選擇圖片文件,可設(shè)置菜單項圖標(biāo)。4.1.1下拉式菜單設(shè)計(11)刪除菜單項4.1.1下拉式菜單設(shè)計123(14)設(shè)置菜單項有效(Enabled)屬性Enabled=true菜單項有效,Enabled=false菜單項無效(15)設(shè)置菜單項復(fù)選框(Checked)屬性Checked=true菜單項的復(fù)選框被選中,則該菜單項左邊加上檢查標(biāo)記“√”,表示該菜單項是一個被選項。4.1.1下拉式菜單設(shè)計(14)設(shè)置菜單項有效(Enabled)屬性4.1.1下拉124(16)項集合編輯器①作用:添加、修改和刪除菜單項。②啟動:單擊菜單控件Items屬性右邊省略按鈕。
③項集合編輯器界面(如圖4.8所示)左側(cè)上方下拉列表框可選擇要添加菜單項的類型,左側(cè)下方是已經(jīng)添加的菜單項列表,右側(cè)是選中菜單項的屬性列表。4.1.1下拉式菜單設(shè)計(16)項集合編輯器4.1.1下拉式菜單設(shè)計125圖4.8項集合編輯器界面圖4.8項集合編輯器界面1264.1.1下拉式菜單設(shè)計④添加新菜單項單擊“添加”按鈕可以添加新菜單項。⑤刪除菜單項單擊刪除按鈕可刪除當(dāng)前菜單項⑥調(diào)整菜單項的位置選中菜單項后,單擊列表右側(cè)的上下箭頭按鈕,可調(diào)整菜單項之間的位置。4.1.1下拉式菜單設(shè)計④添加新菜單項1274.1.1下拉式菜單設(shè)計⑦修改菜單項屬性在右側(cè)屬性列表中可修改菜單項的屬性。如修改Name、Text、ShortcutKeys等屬性。單擊菜單項的DropDownItems屬性右邊的省略按鈕,將顯示其對應(yīng)下一級子菜單項的成員。如,單擊“Menu_File”菜單項(文件)的DropDownItems屬性右邊的省略按鈕,將顯示文件菜單對應(yīng)下一級子菜單項的成員。如圖4.9所示。此時可編輯文件子菜項的屬性。4.1.1下拉式菜單設(shè)計⑦修改菜單項屬性128圖4.9文件菜單的子菜單成員圖4.9文件菜單的子菜單成員129【例4.1】設(shè)計一個簡易文本編輯器的下拉式菜單,如圖4.1所示,設(shè)計要求如表4.1所示。文件(&F)(File)編輯(&E)(Edit)視圖(&V)(View)新建(New)Ctrl+N剪切(Cut)Ctrl+X頁面(Page)打開(Op
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標(biāo)準(zhǔn)化稅務(wù)咨詢服務(wù)協(xié)議模板版B版
- 二零二五年度個人向公司借款協(xié)議附帶借款用途及還款方式調(diào)整3篇
- 2024年郊區(qū)道路瀝青翻新工程承包合同版B版
- 2024年版:智能法院建設(shè)與運營合同
- 2025年度農(nóng)產(chǎn)品物流運輸與市場推廣服務(wù)合同3篇
- 抵押擔(dān)保合同
- 數(shù)字經(jīng)濟投資合作框架協(xié)議
- 二零二五年度水管安裝工程環(huán)保施工合同范本2篇
- 車輛買賣協(xié)議
- 二零二五年度植物園停車場建設(shè)合同3篇
- 《動物遺傳育種學(xué)》動物醫(yī)學(xué)全套教學(xué)課件
- 基金會項目基金捐贈立項表
- OCT青光眼及視野報告
- 人音版小學(xué)音樂四年級下冊課程綱要
- 初中語文人教七年級上冊朝花夕拾學(xué)生導(dǎo)讀單
- 山西鄉(xiāng)寧焦煤集團臺頭煤焦公司礦井兼并重組整合項目初步設(shè)計安全專篇
- 弱電工程自檢報告
- DB33∕T 628.1-2021 交通建設(shè)工程工程量清單計價規(guī)范 第1部分:公路工程
- (完整版)八年級上綜合性學(xué)習(xí)-我們的互聯(lián)網(wǎng)時代-練習(xí)卷(含答案)
- 吉林省自學(xué)考試畢業(yè)生登記表
- 切線長定理、弦切角定理、切割線定理、相交弦定理93336
評論
0/150
提交評論