版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p> 一、課程設(shè)計(jì)的目的與要求…………………………………………………………2</p><p> 二、題目說明…………………………………………………………………………2</p><p> 2.1程序開發(fā)景…………………………………………………………………..3</p>&
2、lt;p> 2.2開發(fā)工紹……………………………………………………………………..3</p><p> 三、總體設(shè)計(jì)…………………………………………………………………………4</p><p> 四、詳細(xì)說明…………………………………………………………………………4</p><p> 4.1 系統(tǒng)實(shí)施…………………………………………………………………….
3、.4</p><p> 五、遇到的問題和解決法……………………………………………………….….13</p><p> 六、課程設(shè)計(jì)總結(jié)…………………………………………………………………..14</p><p> 七、參考文獻(xiàn)………………………………………………………………………..14</p><p> 一、課程設(shè)計(jì)的目的與要求
4、 目的: 1、熟悉.NET開發(fā)環(huán)境,能夠使用C#語言在.NET平臺上獨(dú)立設(shè)計(jì)、開發(fā)WINDOWS應(yīng)用程序。 2、掌握C#語言的異常處理技術(shù),能夠使用.NET各種調(diào)試方法調(diào)試代碼,掌握幫助的使用方法。 3、掌握常用控件以及控件的常用屬性的使用方法。 要求: 1、程序中應(yīng)有不少于100~300行的自行編寫的代碼,代碼需書寫詳細(xì)注釋。
5、 2、軟件界面美觀大方,操作簡潔易用,功能完備可靠。 3. 通過c#課程設(shè)計(jì),使學(xué)生能將學(xué)到的面向?qū)ο蟮某绦蛟O(shè)計(jì)思想用到具體的工作和學(xué)習(xí)中,加深對類和對象的理解,要求學(xué)生能夠?qū)ΜF(xiàn)實(shí)生活中許多具體事物抽象出類,并掌握繼承與派生,基類、虛方法和抽象方法和多態(tài)性的概念。</p><p><b> 二、題目說明 </b></p><p>
6、 創(chuàng)建支持多文檔的記事本,每個(gè)子窗口都應(yīng)包含一個(gè)RichTextBox。MDI父窗口具有“格式”菜單,用于子菜單控制活動子窗口中文本的大小、字體和顏色。每個(gè)子菜單至少含有三個(gè)選項(xiàng)極其快捷鍵。另外,父菜單還含有“文件”菜單,菜單項(xiàng)有“新建”(創(chuàng)建新的子窗口)、“關(guān)閉”(關(guān)閉活動子窗體)和“退出”(退出應(yīng)用程序)。父窗口還有“窗口”菜單顯示一系列打開的子窗口及其布局選項(xiàng)。</p><p><b> 參考界
7、面如:</b></p><p><b> 圖1主要實(shí)現(xiàn)界面</b></p><p><b> 2.1程序開發(fā)背景</b></p><p> 為了滿足用戶對于記事本的一些基礎(chǔ)需求,主要包括“打開”記事本,“新建”、“字體編輯”及保存等功能,所以在老師與自己查閱書籍的情況下,選擇編寫記事本這一題目。</
8、p><p><b> 2.2開發(fā)工具介紹</b></p><p> C#(讀做 "C sharp",中文譯音暫時(shí)沒有.專業(yè)人士一般讀"C sharp",現(xiàn)在很多非專業(yè)一般讀"C井"。 </p><p> C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級
9、程序設(shè)計(jì)語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。 但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。</p>
10、<p><b> 三、總體設(shè)計(jì)</b></p><p> 總體設(shè)計(jì)思路主要是為了實(shí)現(xiàn)用戶打開記事本時(shí),通過新建新的文本文檔,來記事。用戶可以執(zhí)行的操作有,錄入文本后,對文本的字體、顏色、格式等進(jìn)行編輯,同時(shí)還可以進(jìn)行撤消、剪切、粘貼、全選等操作,是用戶方便使用。待文字及其格式做好后,用戶可以保存,或者另存為到自己想要的位置。此外還可以進(jìn)行頁面設(shè)置與打印等功能,方便用戶打印急
11、需的文件。</p><p><b> 四、詳細(xì)說明</b></p><p> 用戶可以在記事本里通過新建、編輯、保存等功能實(shí)現(xiàn)正常記事本的功能。還可以通過格式里面的字體、顏色等來編輯文字。同時(shí)編輯里面的撤銷、剪切、粘貼等功能也從不同層面上滿足用戶的一定需求。</p><p> 通過程序所要實(shí)現(xiàn)的功能可以看出,該程序中有文件、格式等主要對象
12、,所以我們可以通過定義生成子窗體、字體窗體、顏色窗體等來實(shí)現(xiàn)記事本文字的編輯部分,還要定義類,完成窗體間的轉(zhuǎn)換。</p><p><b> 4.1 系統(tǒng)實(shí)施</b></p><p><b> 1、文件->新建</b></p><p> 功能簡介:通過點(diǎn)擊文件下的新建功能,可以彈出多個(gè)文本框,方便用實(shí)現(xiàn)記事功能。
13、</p><p><b> 界面截圖如下:</b></p><p><b> 圖2新建實(shí)現(xiàn)效果</b></p><p><b> 關(guān)鍵代碼如下:</b></p><p> //通過“新建”菜單項(xiàng)添加子窗口</p><p> private vo
14、id 新建ToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //創(chuàng)建子窗體</p><p> 記事本 f = new 記事本();</p><p> f.MdiParent = this;</p><p><b> coun
15、t++;</b></p><p> f.Text = "新建文本" + count;</p><p><b> f.Show();</b></p><p><b> }</b></p><p><b> 2、文件->另存為</b>&
16、lt;/p><p> 功能簡介:通過點(diǎn)擊文件下的另存為功能,可以彈出窗口,給出用戶可以保存文件的位置,方便用戶實(shí)現(xiàn)保存文本不丟失的功能。</p><p><b> 界面截圖如下:</b></p><p><b> 圖3另存為實(shí)現(xiàn)效果</b></p><p><b> 關(guān)鍵代碼如下:&l
17、t;/b></p><p> private void 另存為ToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //實(shí)現(xiàn)另存為功能</p><p> this.saveFileDialog1.Filter = "txt files(*.txt)|*
18、.txt|rdf files(*.rdf)|*.rdf|all files(*.*)|*.*";</p><p> this.saveFileDialog1.FilterIndex = 1;</p><p> if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)</p><p> {
19、 filename = this.saveFileDialog1.FileName;</p><p><b> try</b></p><p><b> {</b></p><p> richTextBox1.LoadFile(filename,RichTextBoxStreamType.P
20、lainText);</p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b></p><p><b> }</b></p><p><b> }&
21、lt;/b></p><p> if (filename != "") richTextBox1.SaveFile(filename,RichTextBoxStreamType.PlainText);</p><p><b> }</b></p><p> 3、文件->頁面設(shè)置</p><
22、;p> 功能簡介:在新建文本后,通過點(diǎn)擊文件下的頁面設(shè)置功能,會彈出頁面設(shè)置對話框,方便用戶對文本對話框的設(shè)置。 界面截圖如下:</p><p> 圖4頁面設(shè)置實(shí)現(xiàn)效果</p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 頁面設(shè)置ToolStripMenuItem_Click(ob
23、ject sender, EventArgs e)</p><p> { //創(chuàng)建頁面設(shè)置對話框</p><p> PageSetupDialog my = new PageSetupDialog();</p><p> my.Document = printDocument1;</p><p><b>
24、; try</b></p><p><b> {</b></p><p> my.ShowDialog();</p><p><b> }</b></p><p><b> catch { }</b></p><p><b&g
25、t; }</b></p><p><b> 4、文件->打印</b></p><p> 功能簡介:在輸入文字后,通過點(diǎn)擊文件下的打印功能,會彈出一個(gè)對話框,提醒用戶選擇打印的相關(guān)屬性。</p><p><b> 界面截圖如下:</b></p><p><b>
26、圖5 文件打印功能</b></p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 打印PToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //創(chuàng)建打印對話框</p><p> Print
27、Dialog p = new PrintDialog();</p><p> p.Document = printDocument1;</p><p> if (p.ShowDialog() == DialogResult.OK)</p><p><b> {</b></p><p><b> try&
28、lt;/b></p><p><b> {</b></p><p> printDocument1.Print();</p><p><b> }</b></p><p><b> catch { }</b></p><p><b&g
29、t; }</b></p><p><b> }</b></p><p><b> 5、文件->退出</b></p><p> 功能簡介:在用戶輸入文字途中,若要退出當(dāng)前窗口,可以點(diǎn)擊文件下的退出功能,會彈出一個(gè)提示框,提醒用戶是否確認(rèn)退出并保存文檔。 界面截圖如下:</p>
30、<p><b> 圖6退出功能</b></p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b><
31、;/p><p> if (MessageBox.Show("你確認(rèn)要退出嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==DialogResult.Yes)</p><p><b> {</b></p><p> this.Cl
32、ose();</p><p><b> }</b></p><p><b> }</b></p><p><b> 6、編輯</b></p><p> 功能簡介:在用戶輸入文字時(shí),若有出錯(cuò)或要重復(fù)等內(nèi)容,可以通過編輯來實(shí)現(xiàn)。編輯主要有撤消、剪切、復(fù)制、刪除、全選等功能。
33、</p><p><b> 界面截圖如下:</b></p><p><b> 圖7編輯所含功能</b></p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 撤消ToolStripMenuItem_Click(object sen
34、der, EventArgs e)</p><p> { //實(shí)現(xiàn)撤消功能</p><p> if (this.richTextBox1.CanUndo == true)</p><p><b> {</b></p><p> this.richTextBox1.Undo();</p><p
35、> this.richTextBox1.ClearUndo();</p><p><b> }</b></p><p><b> }</b></p><p> private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)</p>
36、;<p> { //實(shí)現(xiàn)剪切功能</p><p> int CurPosition = richTextBox1.SelectionStart;</p><p> Clipboard.SetDataObject(richTextBox1.SelectedText);</p><p> richTextBox1.Text =
37、 richTextBox1.Text.Substring(0, CurPosition)+</p><p> richTextBox1.Text.Substring(CurPosition+richTextBox1.SelectedText.Length);</p><p> richTextBox1.SelectionStart = CurPosition;</p>&
38、lt;p><b> }</b></p><p> private void 復(fù)制ToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //實(shí)現(xiàn)復(fù)制功能</p><p> Clipboard.SetDataObject(richTextBo
39、x1.SelectedText);</p><p><b> }</b></p><p> private void 粘貼ToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //實(shí)現(xiàn)粘貼功能</p><p> IDat
40、aObject idata = Clipboard.GetDataObject();</p><p> if (idata.GetDataPresent(DataFormats.Text))</p><p><b> {</b></p><p> string ClipBoardStr = (string)idata.GetData(Da
41、taFormats.Text);</p><p> int CurPosition = richTextBox1.SelectionStart;</p><p> richTextBox1.Text = richTextBox1.Text.Substring(0, CurPosition) + ClipBoardStr + richTextBox1.Text.Substring(Cur
42、Position);</p><p> richTextBox1.SelectionStart = CurPosition + ClipBoardStr.Length;</p><p><b> }</b></p><p><b> }</b></p><p> private void 刪
43、除ToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //實(shí)現(xiàn)刪除功能</p><p> int CurPosition = richTextBox1.SelectionStart;</p><p> Clipboard.SetDataObject(richTextBox1.Sel
44、ectedText);</p><p> richTextBox1.Text = richTextBox1.Text.Substring(0, CurPosition) +</p><p> richTextBox1.Text.Substring(CurPosition + richTextBox1.SelectedText.Length);</p><p>
45、 // richTextBox1.SelectionStart = CurPosition;</p><p><b> }</b></p><p> private void 全選AToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //全選文本內(nèi)容</p&
46、gt;<p> this.richTextBox1.SelectAll();</p><p><b> }</b></p><p><b> 7、格式</b></p><p> 功能簡介:在用戶輸入文字時(shí),若想對內(nèi)容進(jìn)行編輯,可以通過格式菜單來實(shí)現(xiàn)。格式菜單主要有自動換行、字體、顏色等功能,用戶可以有
47、選擇的使用。</p><p><b> 界面截圖如下:</b></p><p> 圖8編輯字體實(shí)現(xiàn)效果</p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 字體ToolStripMenuItem_Click(object sender, EventA
48、rgs e)</p><p> { //創(chuàng)建字體對話框</p><p> fontDialog1.ShowDialog();</p><p> richTextBox1.SelectionFont = fontDialog1.Font;</p><p><b> }</b></p
49、><p> 圖9編輯顏色實(shí)現(xiàn)效果</p><p><b> 關(guān)鍵代碼如下:</b></p><p> private void 顏色YToolStripMenuItem_Click(object sender, EventArgs e)</p><p> { //創(chuàng)建顏色對話框</p><p&
50、gt; colorDialog1.ShowDialog();</p><p> richTextBox1.SelectionColor = colorDialog1.Color;</p><p><b> }</b></p><p> 以上就是該記事本運(yùn)行可以實(shí)現(xiàn)的功能的大部分介紹,希望用戶可以方便簡單的運(yùn)用起來。</p>
51、<p> 五、遇到的問題和解決方法</p><p> 1、使子文檔出現(xiàn)在MDI程序窗體中時(shí),出現(xiàn)this.Name=”Form1”與this.Text=”MDI程序”的異常,經(jīng)過仔細(xì)檢查,原來是先前對代碼含義理解有誤,應(yīng)在AddNewfile()方法中創(chuàng)建子窗體的實(shí)例f,而我們誤創(chuàng)建為父窗體的實(shí)例,故出錯(cuò),正確的寫法是:Form2 f=new Form();這樣才能與后面的f.MdiParent=
52、this相匹配。 </p><p> 2、在運(yùn)行過程中,會隨機(jī)地出現(xiàn)未處理的“System.NullReferenceException”類型的異常出現(xiàn)在未知模塊中及信息,未將對象引用設(shè)置到對象的實(shí)例,或出現(xiàn)未處理的“System.ArgumentException”類型的異常出現(xiàn)在system.windows.forms.dll 中?!边@樣的兩個(gè)異常錯(cuò)誤,點(diǎn)擊中斷后則會出現(xiàn)提示“沒有可用的當(dāng)前代碼”。<
53、;/p><p> 3、據(jù)題目要求,需在運(yùn)行時(shí)顯示狀態(tài)欄,這將更好地達(dá)多文檔的思想。我們采用了加入菜單查看,添加名稱為狀態(tài)的子菜單。雙擊后在其Click事件中加入它的執(zhí)行語句:this.statusBar1.Text=this.ActiveMdichile.Text;這樣運(yùn)行后就可以通過點(diǎn)擊查看菜單中的狀態(tài)欄來查看目前處于活動狀態(tài)的文檔是所建立的第幾個(gè)文檔。</p><p><b>
54、 六、課程設(shè)計(jì)總結(jié)</b></p><p> 經(jīng)過二周的課程設(shè)計(jì),使我對Visual C#編程有了更深一層的了解。經(jīng)過這幾天的編程與不斷調(diào)試,我的努力終于有了成果。我設(shè)計(jì)的是記事本。這其中得用兩個(gè)不同地位的菜單對文本進(jìn)行編輯和操作。整個(gè)設(shè)計(jì)的過程也是我們不斷學(xué)習(xí)的一個(gè)過程,我們在運(yùn)用舊知識的同時(shí)也學(xué)到了不少新知識,給自己大腦充電的同時(shí)也填補(bǔ)了一些相關(guān)知識方面的空白。</p><
55、p> 整個(gè)設(shè)計(jì)的過程中,我們不僅僅只是經(jīng)歷了是失敗與成功所帶來的啟迪,我們還體會到了一種很重要的東西,那就是團(tuán)體的力量。設(shè)計(jì)中,我有不懂得地方就請教老師和同學(xué),可以說在大家的幫助下我才得以完整的呈現(xiàn)出我的成果。</p><p> 這次課程設(shè)計(jì)讓我學(xué)到了很多東西。對圖形化設(shè)計(jì)有了更具體的認(rèn)識,讓我們復(fù)習(xí)了以前學(xué)過的知識,也讓我們對圖形化設(shè)計(jì)更深刻的理解。團(tuán)隊(duì)精神的重要性??傊?這次的設(shè)計(jì)使我受益頗深。&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c_語言程序設(shè)計(jì)課程設(shè)計(jì)-- 記事本
- c_課程設(shè)計(jì)報(bào)告--簡單記事本的設(shè)計(jì)
- 簡單記事本課程設(shè)計(jì)說明書
- java課程設(shè)計(jì)--日歷記事本
- java課程設(shè)計(jì)日歷記事本
- java課程設(shè)計(jì)--日歷記事本
- 日歷記事本-java課程設(shè)計(jì)
- 日歷記事本java課程設(shè)計(jì)
- 日歷記事本java課程設(shè)計(jì)論文
- java記事本程序課程設(shè)計(jì)報(bào)告
- 撥叉c_課程設(shè)計(jì)說明書
- java課程設(shè)計(jì)--- 記事本程序設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告--實(shí)現(xiàn)記事本功能
- 基于java的記事本程序課程設(shè)計(jì)
- 基于java的記事本程序課程設(shè)計(jì)
- vb課程設(shè)計(jì)--記事本程序的編寫
- java課程設(shè)計(jì)記事本(含代碼)1
- java課程設(shè)計(jì)---設(shè)計(jì)一個(gè)記事本
- java語言課程設(shè)計(jì)---記事本程序設(shè)計(jì)
- java課程設(shè)計(jì)--簡單記事本程序的設(shè)計(jì)
評論
0/150
提交評論