C課程設計說明書記事本_第1頁
C課程設計說明書記事本_第2頁
C課程設計說明書記事本_第3頁
C課程設計說明書記事本_第4頁
C課程設計說明書記事本_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄一、課程設計的目的與要求2二、題目說明22.1程序開發(fā)景.32.2開發(fā)工紹.3三、總體設計4四、詳細說明44.1 系統(tǒng)實施.4五、遇到的問題和解決法.13六、課程設計總結.14七、參考文獻.14一、課程設計的目的與要求 目的: 1、熟悉.net開發(fā)環(huán)境,能夠使用c#語言在.net平臺上獨立設計、開發(fā)windows應用程序。 2、掌握c#語言的異常處理技術,能夠使用.net各種調試方法調試代碼,掌握幫助的使用方法。 3、掌握常用控件以及控件的常用屬性的使用方法。 要求: 1、程序中應有不少于100300行的自行編寫的代碼,代碼需書寫詳細注釋。 2、軟件界面美觀大方,操作簡潔易用,功能完備可靠

2、。 3. 通過c#課程設計,使學生能將學到的面向對象的程序設計思想用到具體的工作和學習中,加深對類和對象的理解,要求學生能夠對現實生活中許多具體事物抽象出類,并掌握繼承與派生,基類、虛方法和抽象方法和多態(tài)性的概念。二、題目說明 創(chuàng)建支持多文檔的記事本,每個子窗口都應包含一個richtextbox。mdi父窗口具有“格式”菜單,用于子菜單控制活動子窗口中文本的大小、字體和顏色。每個子菜單至少含有三個選項極其快捷鍵。另外,父菜單還含有“文件”菜單,菜單項有“新建”(創(chuàng)建新的子窗口)、“關閉”(關閉活動子窗體)和“退出”(退出應用程序)。父窗口還有“窗口”菜單顯示一系列打開的子窗口及其布局選項。參考

3、界面如:圖1主要實現界面2.1程序開發(fā)背景 為了滿足用戶對于記事本的一些基礎需求,主要包括“打開”記事本,“新建”、“字體編輯”及保存等功能,所以在老師與自己查閱書籍的情況下,選擇編寫記事本這一題目。2.2開發(fā)工具介紹c#(讀做 c sharp,中文譯音暫時沒有.專業(yè)人士一般讀c sharp,現在很多非專業(yè)一般讀c井。 c#是微軟公司發(fā)布的一種面向對象的、運行于.net framework之上的高級程序設計語言。并定于在微軟職業(yè)開發(fā)者論壇(pdc)上登臺亮相。c#是微軟公司研究員anders hejlsberg的最新成果。c#看起來與java有著驚人的相似;它包括了諸如單一繼承、接口、與jav

4、a幾乎同樣的語法和編譯成中間代碼再運行的過程。 但是c#與java有著明顯的不同,它借鑒了delphi的一個特點,與com(組件對象模型)是直接集成的,而且它是微軟公司.net windows網絡框架的主角。三、總體設計總體設計思路主要是為了實現用戶打開記事本時,通過新建新的文本文檔,來記事。用戶可以執(zhí)行的操作有,錄入文本后,對文本的字體、顏色、格式等進行編輯,同時還可以進行撤消、剪切、粘貼、全選等操作,是用戶方便使用。待文字及其格式做好后,用戶可以保存,或者另存為到自己想要的位置。此外還可以進行頁面設置與打印等功能,方便用戶打印急需的文件。四、詳細說明用戶可以在記事本里通過新建、編輯、保存等

5、功能實現正常記事本的功能。還可以通過格式里面的字體、顏色等來編輯文字。同時編輯里面的撤銷、剪切、粘貼等功能也從不同層面上滿足用戶的一定需求。通過程序所要實現的功能可以看出,該程序中有文件、格式等主要對象,所以我們可以通過定義生成子窗體、字體窗體、顏色窗體等來實現記事本文字的編輯部分,還要定義類,完成窗體間的轉換。4.1 系統(tǒng)實施1、文件-新建功能簡介:通過點擊文件下的新建功能,可以彈出多個文本框,方便用實現記事功能。界面截圖如下:圖2新建實現效果 關鍵代碼如下:/通過“新建”菜單項添加子窗口 private void 新建toolstripmenuitem_click(object sende

6、r, eventargs e) /創(chuàng)建子窗體 記事本 f = new 記事本(); f.mdiparent = this; count+; f.text = 新建文本 + count; f.show(); 2、文件-另存為 功能簡介:通過點擊文件下的另存為功能,可以彈出窗口,給出用戶可以保存文件的位置,方便用戶實現保存文本不丟失的功能。 界面截圖如下:圖3另存為實現效果關鍵代碼如下: private void 另存為toolstripmenuitem_click(object sender, eventargs e) /實現另存為功能 this.savefiledialog1.filter =

7、 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(filename,richtextboxstreamtype.plaintext); catch if (filename != ) ric

8、htextbox1.savefile(filename,richtextboxstreamtype.plaintext); 3、文件-頁面設置 功能簡介:在新建文本后,通過點擊文件下的頁面設置功能,會彈出頁面設置對話框,方便用戶對文本對話框的設置。 界面截圖如下:圖4頁面設置實現效果 關鍵代碼如下: private void 頁面設置toolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建頁面設置對話框 pagesetupdialog my = new pagesetupdialog(); my.document = printdocume

9、nt1; try my.showdialog(); catch 4、文件-打印 功能簡介:在輸入文字后,通過點擊文件下的打印功能,會彈出一個對話框,提醒用戶選擇打印的相關屬性。 界面截圖如下:圖5 文件打印功能關鍵代碼如下:private void 打印ptoolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建打印對話框 printdialog p = new printdialog(); p.document = printdocument1; if (p.showdialog() = dialogresult.ok) try print

10、document1.print(); catch 5、文件-退出功能簡介:在用戶輸入文字途中,若要退出當前窗口,可以點擊文件下的退出功能,會彈出一個提示框,提醒用戶是否確認退出并保存文檔。 界面截圖如下:圖6退出功能 關鍵代碼如下:private void 退出toolstripmenuitem_click(object sender, eventargs e) if (messagebox.show(你確認要退出嗎?, 提示, messageboxbuttons.yesno, messageboxicon.question) =dialogresult.yes) this.close();

11、6、編輯 功能簡介:在用戶輸入文字時,若有出錯或要重復等內容,可以通過編輯來實現。編輯主要有撤消、剪切、復制、刪除、全選等功能。界面截圖如下:圖7編輯所含功能關鍵代碼如下: private void 撤消toolstripmenuitem_click(object sender, eventargs e) /實現撤消功能 if (this.richtextbox1.canundo = true) this.richtextbox1.undo(); this.richtextbox1.clearundo(); private void 剪切toolstripmenuitem_click(obje

12、ct sender, eventargs e) /實現剪切功能 int curposition = richtextbox1.selectionstart; clipboard.setdataobject(richtextbox1.selectedtext); richtextbox1.text = richtextbox1.text.substring(0, curposition)+ richtextbox1.text.substring(curposition+richtextbox1.selectedtext.length); richtextbox1.selectionstart =

13、 curposition; private void 復制toolstripmenuitem_click(object sender, eventargs e) /實現復制功能 clipboard.setdataobject(richtextbox1.selectedtext); private void 粘貼toolstripmenuitem_click(object sender, eventargs e) /實現粘貼功能 idataobject idata = clipboard.getdataobject(); if (idata.getdatapresent(dataformats.

14、text) string clipboardstr = (string)idata.getdata(dataformats.text); int curposition = richtextbox1.selectionstart; richtextbox1.text = richtextbox1.text.substring(0, curposition) + clipboardstr + richtextbox1.text.substring(curposition); richtextbox1.selectionstart = curposition + clipboardstr.leng

15、th; private void 刪除toolstripmenuitem_click(object sender, eventargs e) /實現刪除功能 int curposition = richtextbox1.selectionstart;待添加的隱藏文字內容1 clipboard.setdataobject(richtextbox1.selectedtext); richtextbox1.text = richtextbox1.text.substring(0, curposition) + richtextbox1.text.substring(curposition + ric

16、htextbox1.selectedtext.length); / richtextbox1.selectionstart = curposition; private void 全選atoolstripmenuitem_click(object sender, eventargs e) /全選文本內容 this.richtextbox1.selectall(); 7、格式 功能簡介:在用戶輸入文字時,若想對內容進行編輯,可以通過格式菜單來實現。格式菜單主要有自動換行、字體、顏色等功能,用戶可以有選擇的使用。界面截圖如下:圖8編輯字體實現效果 關鍵代碼如下: private void 字體to

17、olstripmenuitem_click(object sender, eventargs e) /創(chuàng)建字體對話框 fontdialog1.showdialog(); richtextbox1.selectionfont = fontdialog1.font; 圖9編輯顏色實現效果 關鍵代碼如下: private void 顏色ytoolstripmenuitem_click(object sender, eventargs e) /創(chuàng)建顏色對話框 colordialog1.showdialog(); richtextbox1.selectioncolor = colordialog1.co

18、lor; 以上就是該記事本運行可以實現的功能的大部分介紹,希望用戶可以方便簡單的運用起來。五、遇到的問題和解決方法 1、使子文檔出現在mdi程序窗體中時,出現this.name=”form1”與this.text=”mdi程序”的異常,經過仔細檢查,原來是先前對代碼含義理解有誤,應在addnewfile()方法中創(chuàng)建子窗體的實例f,而我們誤創(chuàng)建為父窗體的實例,故出錯,正確的寫法是:form2 f=new form();這樣才能與后面的f.mdiparent=this相匹配。 2、在運行過程中,會隨機地出現未處理的“system.nullreferenceexception”類型的異常出現在未知模塊中及信息,未將對象引用設置到對象的實例,或出現未處理的“system.argumentexception”類型的異常出現在system.windows.forms.dll 中?!边@樣的兩個異常錯誤,點擊中斷后則會出現提示“沒有可用的當前代碼”。 3、據題目要求,需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論