版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄一、課程設(shè)計(jì)的目的與要求2二、題目說(shuō)明22.1程序開(kāi)發(fā)景.32.2開(kāi)發(fā)工紹.3三、總體設(shè)計(jì)4四、詳細(xì)說(shuō)明44.1 系統(tǒng)實(shí)施.4五、遇到的問(wèn)題和解決法.13六、課程設(shè)計(jì)總結(jié).14七、參考文獻(xiàn).14一、課程設(shè)計(jì)的目的與要求 目的: 1、熟悉.net開(kāi)發(fā)環(huán)境,能夠使用c#語(yǔ)言在.net平臺(tái)上獨(dú)立設(shè)計(jì)、開(kāi)發(fā)windows應(yīng)用程序。 2、掌握c#語(yǔ)言的異常處理技術(shù),能夠使用.net各種調(diào)試方法調(diào)試代碼,掌握幫助的使用方法。 3、掌握常用控件以及控件的常用屬性的使用方法。 要求: 1、程序中應(yīng)有不少于100300行的自行編寫(xiě)的代碼,代碼需書(shū)寫(xiě)詳細(xì)注釋。 2、軟件界面美觀大方,操作簡(jiǎn)潔易用,功能完備可靠
2、。 3. 通過(guò)c#課程設(shè)計(jì),使學(xué)生能將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計(jì)思想用到具體的工作和學(xué)習(xí)中,加深對(duì)類和對(duì)象的理解,要求學(xué)生能夠?qū)ΜF(xiàn)實(shí)生活中許多具體事物抽象出類,并掌握繼承與派生,基類、虛方法和抽象方法和多態(tài)性的概念。二、題目說(shuō)明 創(chuàng)建支持多文檔的記事本,每個(gè)子窗口都應(yīng)包含一個(gè)richtextbox。mdi父窗口具有“格式”菜單,用于子菜單控制活動(dòng)子窗口中文本的大小、字體和顏色。每個(gè)子菜單至少含有三個(gè)選項(xiàng)極其快捷鍵。另外,父菜單還含有“文件”菜單,菜單項(xiàng)有“新建”(創(chuàng)建新的子窗口)、“關(guān)閉”(關(guān)閉活動(dòng)子窗體)和“退出”(退出應(yīng)用程序)。父窗口還有“窗口”菜單顯示一系列打開(kāi)的子窗口及其布局選項(xiàng)。參考
3、界面如:圖1主要實(shí)現(xiàn)界面2.1程序開(kāi)發(fā)背景 為了滿足用戶對(duì)于記事本的一些基礎(chǔ)需求,主要包括“打開(kāi)”記事本,“新建”、“字體編輯”及保存等功能,所以在老師與自己查閱書(shū)籍的情況下,選擇編寫(xiě)記事本這一題目。2.2開(kāi)發(fā)工具介紹c#(讀做 "c sharp",中文譯音暫時(shí)沒(méi)有.專業(yè)人士一般讀"c sharp",現(xiàn)在很多非專業(yè)一般讀"c井"。 c#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.net framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。并定于在微軟職業(yè)開(kāi)發(fā)者論壇(pdc)上登臺(tái)亮相。c#是微軟公司研究員anders hejlsberg的最新成果。
4、c#看起來(lái)與java有著驚人的相似;它包括了諸如單一繼承、接口、與java幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過(guò)程。 但是c#與java有著明顯的不同,它借鑒了delphi的一個(gè)特點(diǎn),與com(組件對(duì)象模型)是直接集成的,而且它是微軟公司.net windows網(wǎng)絡(luò)框架的主角。三、總體設(shè)計(jì)總體設(shè)計(jì)思路主要是為了實(shí)現(xiàn)用戶打開(kāi)記事本時(shí),通過(guò)新建新的文本文檔,來(lái)記事。用戶可以執(zhí)行的操作有,錄入文本后,對(duì)文本的字體、顏色、格式等進(jìn)行編輯,同時(shí)還可以進(jìn)行撤消、剪切、粘貼、全選等操作,是用戶方便使用。待文字及其格式做好后,用戶可以保存,或者另存為到自己想要的位置。此外還可以進(jìn)行頁(yè)面設(shè)置與打印等功能,方便
5、用戶打印急需的文件。四、詳細(xì)說(shuō)明用戶可以在記事本里通過(guò)新建、編輯、保存等功能實(shí)現(xiàn)正常記事本的功能。還可以通過(guò)格式里面的字體、顏色等來(lái)編輯文字。同時(shí)編輯里面的撤銷、剪切、粘貼等功能也從不同層面上滿足用戶的一定需求。通過(guò)程序所要實(shí)現(xiàn)的功能可以看出,該程序中有文件、格式等主要對(duì)象,所以我們可以通過(guò)定義生成子窗體、字體窗體、顏色窗體等來(lái)實(shí)現(xiàn)記事本文字的編輯部分,還要定義類,完成窗體間的轉(zhuǎn)換。4.1 系統(tǒng)實(shí)施1、文件->新建功能簡(jiǎn)介:通過(guò)點(diǎn)擊文件下的新建功能,可以彈出多個(gè)文本框,方便用實(shí)現(xiàn)記事功能。界面截圖如下:圖2新建實(shí)現(xiàn)效果 關(guān)鍵代碼如下:/通過(guò)“新建”菜單項(xiàng)添加子窗口 private voi
6、d 新建toolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建子窗體 記事本 f = new 記事本(); f.mdiparent = this; count+; f.text = "新建文本" + count; f.show(); 2、文件->另存為 功能簡(jiǎn)介:通過(guò)點(diǎn)擊文件下的另存為功能,可以彈出窗口,給出用戶可以保存文件的位置,方便用戶實(shí)現(xiàn)保存文本不丟失的功能。 界面截圖如下:圖3另存為實(shí)現(xiàn)效果關(guān)鍵代碼如下: private void 另存為toolstripmenuitem_click(object sen
7、der, eventargs e) /實(shí)現(xiàn)另存為功能 this.savefiledialog1.filter = "txt files(*.txt)|*.txt|rdf files(*.rdf)|*.rdf|all files(*.*)|*.*" this.savefiledialog1.filterindex = 1; if (this.savefiledialog1.showdialog() = dialogresult.ok) filename = this.savefiledialog1.filename; try richtextbox1.loadfile(fil
8、ename,richtextboxstreamtype.plaintext); catch if (filename != "") richtextbox1.savefile(filename,richtextboxstreamtype.plaintext); 3、文件->頁(yè)面設(shè)置 功能簡(jiǎn)介:在新建文本后,通過(guò)點(diǎn)擊文件下的頁(yè)面設(shè)置功能,會(huì)彈出頁(yè)面設(shè)置對(duì)話框,方便用戶對(duì)文本對(duì)話框的設(shè)置。 界面截圖如下:圖4頁(yè)面設(shè)置實(shí)現(xiàn)效果 關(guān)鍵代碼如下: private void 頁(yè)面設(shè)置toolstripmenuitem_click(object sender, eventargs
9、e) /創(chuàng)建頁(yè)面設(shè)置對(duì)話框 pagesetupdialog my = new pagesetupdialog(); my.document = printdocument1; try my.showdialog(); catch 4、文件->打印 功能簡(jiǎn)介:在輸入文字后,通過(guò)點(diǎn)擊文件下的打印功能,會(huì)彈出一個(gè)對(duì)話框,提醒用戶選擇打印的相關(guān)屬性。 界面截圖如下:圖5 文件打印功能關(guān)鍵代碼如下:private void 打印ptoolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建打印對(duì)話框 printdialog p = new prin
10、tdialog(); p.document = printdocument1; if (p.showdialog() = dialogresult.ok) try printdocument1.print(); catch 5、文件->退出功能簡(jiǎn)介:在用戶輸入文字途中,若要退出當(dāng)前窗口,可以點(diǎn)擊文件下的退出功能,會(huì)彈出一個(gè)提示框,提醒用戶是否確認(rèn)退出并保存文檔。 界面截圖如下:圖6退出功能 關(guān)鍵代碼如下:private void 退出toolstripmenuitem_click(object sender, eventargs e) if (messagebox.show("
11、你確認(rèn)要退出嗎?", "提示", messageboxbuttons.yesno, messageboxicon.question) =dialogresult.yes) this.close(); 6、編輯 功能簡(jiǎn)介:在用戶輸入文字時(shí),若有出錯(cuò)或要重復(fù)等內(nèi)容,可以通過(guò)編輯來(lái)實(shí)現(xiàn)。編輯主要有撤消、剪切、復(fù)制、刪除、全選等功能。界面截圖如下:圖7編輯所含功能關(guān)鍵代碼如下: private void 撤消toolstripmenuitem_click(object sender, eventargs e) /實(shí)現(xiàn)撤消功能 if (this.richtextbox1.c
12、anundo = true) this.richtextbox1.undo(); this.richtextbox1.clearundo(); private void 剪切toolstripmenuitem_click(object sender, eventargs e) /實(shí)現(xiàn)剪切功能 int curposition = richtextbox1.selectionstart; clipboard.setdataobject(richtextbox1.selectedtext); richtextbox1.text = richtextbox1.text.substring(0, cur
13、position)+ richtextbox1.text.substring(curposition+richtextbox1.selectedtext.length); richtextbox1.selectionstart = curposition; private void 復(fù)制toolstripmenuitem_click(object sender, eventargs e) /實(shí)現(xiàn)復(fù)制功能 clipboard.setdataobject(richtextbox1.selectedtext); private void 粘貼toolstripmenuitem_click(objec
14、t sender, eventargs e) /實(shí)現(xiàn)粘貼功能 idataobject idata = clipboard.getdataobject(); if (idata.getdatapresent(dataformats.text) string clipboardstr = (string)idata.getdata(dataformats.text); int curposition = richtextbox1.selectionstart; richtextbox1.text = richtextbox1.text.substring(0, curposition) + cli
15、pboardstr + richtextbox1.text.substring(curposition); richtextbox1.selectionstart = curposition + clipboardstr.length; private void 刪除toolstripmenuitem_click(object sender, eventargs e) /實(shí)現(xiàn)刪除功能 int curposition = richtextbox1.selectionstart;待添加的隱藏文字內(nèi)容1 clipboard.setdataobject(richtextbox1.selectedtex
16、t); richtextbox1.text = richtextbox1.text.substring(0, curposition) + richtextbox1.text.substring(curposition + richtextbox1.selectedtext.length); / richtextbox1.selectionstart = curposition; private void 全選atoolstripmenuitem_click(object sender, eventargs e) /全選文本內(nèi)容 this.richtextbox1.selectall(); 7
17、、格式 功能簡(jiǎn)介:在用戶輸入文字時(shí),若想對(duì)內(nèi)容進(jìn)行編輯,可以通過(guò)格式菜單來(lái)實(shí)現(xiàn)。格式菜單主要有自動(dòng)換行、字體、顏色等功能,用戶可以有選擇的使用。界面截圖如下:圖8編輯字體實(shí)現(xiàn)效果 關(guān)鍵代碼如下: private void 字體toolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建字體對(duì)話框 fontdialog1.showdialog(); richtextbox1.selectionfont = fontdialog1.font; 圖9編輯顏色實(shí)現(xiàn)效果 關(guān)鍵代碼如下: private void 顏色ytoolstripmenuitem_
18、click(object sender, eventargs e) /創(chuàng)建顏色對(duì)話框 colordialog1.showdialog(); richtextbox1.selectioncolor = colordialog1.color; 以上就是該記事本運(yùn)行可以實(shí)現(xiàn)的功能的大部分介紹,希望用戶可以方便簡(jiǎn)單的運(yùn)用起來(lái)。五、遇到的問(wèn)題和解決方法 1、使子文檔出現(xiàn)在mdi程序窗體中時(shí),出現(xiàn)this.name=”form1”與this.text=”mdi程序”的異常,經(jīng)過(guò)仔細(xì)檢查,原來(lái)是先前對(duì)代碼含義理解有誤,應(yīng)在addnewfile()方法中創(chuàng)建子窗體的實(shí)例f,而我們誤創(chuàng)建為父窗體的實(shí)例,故出錯(cuò),正確的寫(xiě)法是:form2 f=new form();這樣才能與后面的f.mdiparent=this相匹配。 2、在運(yùn)行過(guò)程中,會(huì)隨機(jī)地出現(xiàn)未處理的“system.nullreferenceexception”類型的異常出現(xiàn)在未知模塊中及信息,未將對(duì)象引用設(shè)置到對(duì)象的實(shí)例,或出現(xiàn)未處理的“system.argumentexception”類型的異常出現(xiàn)在system.windows.forms.dll 中?!边@樣的兩個(gè)異常錯(cuò)誤,點(diǎn)擊中斷后則會(huì)出現(xiàn)提示“沒(méi)有可用的當(dāng)前代碼
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)動(dòng)會(huì)的加油詞內(nèi)容(32篇)
- 慰問(wèn)老師慰問(wèn)信(30篇)
- 2023年中考數(shù)學(xué)一輪復(fù)習(xí):一次函數(shù)
- 軟件銷售合同12篇
- 21.2.1 二次函數(shù)y=ax2的圖象與性質(zhì) 同步練習(xí)
- 2025年中考語(yǔ)文復(fù)習(xí)之現(xiàn)代文閱讀:記敘文閱讀之拓展探究(練習(xí))(學(xué)生版)
- 浙江省杭州地區(qū)(含周邊)重點(diǎn)中學(xué)2024-2025學(xué)年高二上學(xué)期期中考試歷史試題(含答案)
- 寧夏青銅峽市寧朔中學(xué)2024-2025學(xué)年高二上學(xué)期11月期中英語(yǔ)試題(含答案)
- 北京市一零一中學(xué)2024~2025學(xué)年第一學(xué)期初三期中物理試卷
- 北京高考語(yǔ)文三年模擬真題(21-23年)知識(shí)點(diǎn)匯編-語(yǔ)言文字應(yīng)用
- 2023年山東濟(jì)南市文化和旅游局所屬事業(yè)單位招聘42人筆試參考題庫(kù)(共500題)答案詳解版
- 開(kāi)拓海外市場(chǎng):2024年新年計(jì)劃
- 2023-2024學(xué)年遼寧省沈陽(yáng)126中八年級(jí)(上)期中數(shù)學(xué)試卷(含解析)
- 生產(chǎn)檢驗(yàn)記錄表
- 化工廠設(shè)計(jì)車間布置設(shè)計(jì)
- 工業(yè)產(chǎn)品質(zhì)量安全風(fēng)險(xiǎn)管控清單及日管控、周排查、月調(diào)度記錄表
- 各種泥漿處理劑性能簡(jiǎn)介
- 全國(guó)文物保護(hù)工程施工一級(jí)資質(zhì)單位
- 有趣的英國(guó)文化
- 皮內(nèi)注射評(píng)分標(biāo)準(zhǔn)
- 上海交通大學(xué)學(xué)生生存手冊(cè)
評(píng)論
0/150
提交評(píng)論