用C#編寫文本編輯器實(shí)驗(yàn)報(bào)告_第1頁
用C#編寫文本編輯器實(shí)驗(yàn)報(bào)告_第2頁
用C#編寫文本編輯器實(shí)驗(yàn)報(bào)告_第3頁
用C#編寫文本編輯器實(shí)驗(yàn)報(bào)告_第4頁
用C#編寫文本編輯器實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、用C#編寫“文本編輯器”實(shí)驗(yàn)報(bào)告實(shí)驗(yàn) 3 項(xiàng)目名稱: 文本編輯器 1、實(shí)驗(yàn)?zāi)康暮鸵笸ㄟ^本實(shí)驗(yàn),使得學(xué)生理解操作系統(tǒng)目錄與文件的概念,掌握文件流的讀寫操作。要求編寫一個(gè)滿足以下條件的文本編輯器程序。(1)程序界面與操作系統(tǒng)中的記事本界面類似。(2)程序可以打開、保存和編輯txt文本文件。(3)程序可以查找和替換文本內(nèi)容中的指定字符串2、程序代碼using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.L

2、inq;using System.Text;using System.Windows.Forms;using System.IO;namespace 記事本 public partial class frmNotepad : Form bool b = false;/布爾變量b用于判斷文件是新建的還是從磁盤打開。true表示文件從磁盤打開的,false表示文件是新建的,默認(rèn)值為false bool s = true;/布爾變量s用于判斷文件是否被保存。false表示未被保存,默認(rèn)值為true public frmNotepad() InitializeComponent(); /*多格式文本框

3、TextChange的事件代碼*/ private void rtxtNotepad_TextChanged(object sender, EventArgs e) /文本被修改后,設(shè)置s為false,表示文件未被保存 s = false; /*【新建】菜單代碼*/ private void tsmiNew_Click(object sender, EventArgs e) /判斷當(dāng)前文件是否從磁盤打開,或者新建時(shí)文檔不為空,并且文件未被保存 if (b = true | rtxtNotepad.Text.Trim() != ) /若文件未被保存 if (s = false) string r

4、esult; result = MessageBox.Show(文件尚未保存,是否保存?, 保存文件, MessageBoxButtons.YesNoCancel).ToString(); switch (result) case Yes: /若文件是從磁盤打開的 if (b = true) /按文件打開的路徑保存文件 rtxtNotepad.SaveFile(odlgNotepad.FileName); /若文件不是從磁盤打開的 else if (sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdlgNote

5、pad.FileName); s = true; rtxtNotepad.Text = ; break; case No: b = false; rtxtNotepad.Text = ; break; /*【打開】菜單代碼*/ private void tsmiOpen_Click(object sender, EventArgs e) if (b = true | rtxtNotepad.Text.Trim() != ) string result; result = MessageBox.Show(文件尚未保存,是否保存?, 保存文件, MessageBoxButtons.YesNoCan

6、cel).ToString(); switch (result) case Yes: if (b = true) rtxtNotepad.SaveFile(odlgNotepad.FileName); else if (sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; rtxtNotepad.Text = ; break; case No: b = false; rtxtNotepad.Text = ; break; odlgNotepad.Rest

7、oreDirectory = true; if (odlgNotepad.ShowDialog() = DialogResult.OK) & odlgNotepad.FileName != ) rtxtNotepad.LoadFile(odlgNotepad.FileName); b = true; s = true; /*【保存】菜單代碼*/ private void tsmiSave_Click(object sender, EventArgs e) /若文件從磁盤打開并且修改了其內(nèi)容 if (b = true & rtxtNotepad.Modified = true) rtxtNote

8、pad.SaveFile(odlgNotepad.FileName); s = true; else if (b = false & rtxtNotepad.Text.Trim() != & sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; b = true; odlgNotepad.FileName = sdlgNotepad.FileName; /*【另存為】菜單代碼*/ private void tsmiSaveAs_Click(object

9、sender, EventArgs e) if (sdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SaveFile(sdlgNotepad.FileName); s = true; /*【退出】菜單代碼*/ private void tsmiClose_Click(object sender, EventArgs e) Application.Exit(); /【撤銷】菜單代碼 private void tsmiUndo_Click(object sender, EventArgs e) rtxtNotepad.Undo(); /

10、【復(fù)制】菜單代碼 private void tsmiCopy_Click(object sender, EventArgs e) rtxtNotepad.Copy(); /【剪切】菜單代碼 private void tsmiCut_Click(object sender, EventArgs e) rtxtNotepad.Cut(); /【粘貼】菜單代碼 private void tsmiPaste_Click(object sender, EventArgs e) rtxtNotepad.Paste(); /【全選】菜單代碼 private void tsmiSelectAll_Click(

11、object sender, EventArgs e) rtxtNotepad.SelectAll(); /【日期】菜單代碼 private void tsmiDate_Click(object sender, EventArgs e) rtxtNotepad.AppendText(System.DateTime.Now.ToString(); /【自行換行】菜單代碼 private void tsmiAuto_Click(object sender, EventArgs e) if (tsmiAuto.Checked = false) tsmiAuto.Checked = true;/選中該

12、菜單項(xiàng) rtxtNotepad.WordWrap = true;/設(shè)置為自動(dòng)換行 else tsmiAuto.Checked = false; rtxtNotepad.WordWrap = false; /【字體】菜單代碼 private void tsmiFont_Click(object sender, EventArgs e) fdlgNotepad.ShowColor = true; if (fdlgNotepad.ShowDialog() = DialogResult.OK) rtxtNotepad.SelectionColor = fdlgNotepad.Color; rtxtNo

13、tepad.SelectionFont = fdlgNotepad.Font; /【工具欄】菜單代碼 private void tsmiToolStrip_Click(object sender, EventArgs e) Point point; if (tsmiToolStrip.Checked = true) point = new Point(0, 25);/隱藏工具欄時(shí),把坐標(biāo)設(shè)為(0,25),因?yàn)椴藛蔚母叨葹?4 tsmiToolStrip.Checked = false; tlsNotepad.Visible = false; rtxtNotepad.Location = poi

14、nt;/設(shè)置多格式文本框左上角的位置 rtxtNotepad.Height += tlsNotepad.Height;/隱藏工具欄后,增加文本框的高度 else /顯示工具欄時(shí),多格式文本框左上角的位置為(0,50),因?yàn)楣ぞ邫诘母叨?5加上菜單的高度25=50 point = new Point(0, 50); tsmiToolStrip.Checked = true; tlsNotepad.Visible = true; rtxtNotepad.Location = point; rtxtNotepad.Height -= tlsNotepad.Height; /【狀態(tài)欄】菜單代碼 pri

15、vate void tsmiStatusStrip_Click(object sender, EventArgs e) if (tsmiStatusStrip.Checked = true) tsmiStatusStrip.Checked = false; stsNotepad.Visible = false; rtxtNotepad.Height += stsNotepad.Height; else tsmiStatusStrip.Checked = true; stsNotepad.Visible = true; rtxtNotepad.Height -= stsNotepad.Heigh

16、t; /【關(guān)于記事本】菜單代碼 private void tsmiAbout_Click(object sender, EventArgs e) frmAbout ob_FrmAbout = new frmAbout(); ob_FrmAbout.Show(); private void tlsNotepad_ItemClicked(object sender, ToolStripItemClickedEventArgs e) int n;/變量n用來接收按下按鈕的索引號(hào) n = tlsNotepad.Items.IndexOf(e.ClickedItem); switch (n) case

17、1: tsmiNew_Click(sender, e); break; case 2: tsmiOpen_Click(sender, e); break; case 3: tsmiSave_Click(sender, e); break; case 4: tsmiCut_Click(sender, e); break; case 5: tsmiCopy_Click(sender, e); break; case 6: tsmiPaste_Click(sender, e); break; case 7: tsmiAbout_Click(sender, e); break; /計(jì)時(shí)器控件代碼 private void tmrNotepad_Tick(object sender, EventArgs e) tssLbl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論