您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了C#編寫記事本的具體代碼,供大家參考,具體內(nèi)容如下
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Notepad { public partial class frmNotepad : Form { //**************************************** /*布爾變量b用于判斷文件是新建的還是從磁盤打開的 true 表示從磁盤打開,false表示文件是新建的,默認(rèn)值為false*/ bool b = false; /*布爾變量s用于判斷文件是否被保存 true 表示已經(jīng)被保存,false表示未被保存,默認(rèn)值為true*/ bool s = true; //*********************************** public frmNotepad() { InitializeComponent(); richTextBox1.Text = ""; } //*********************************************** // 多格式文本框的TextChanged事件代碼 //************************************************ private void richTextBox1_TextChanged(object sender, EventArgs e) { //文本框被修改后,設(shè)置s為false,表示文件未保存 s = false; } //***************************************** // 【文件】菜單各菜單項(xiàng)的單擊代碼 //******************************************* //***************************************** // 【新建】菜單代碼 //********************************************* private void 新建NToolStripMenuItem_Click(object sender, EventArgs e) { //判斷當(dāng)前文件是否是從磁盤打開,或者新建時(shí)文檔不為空,并且文件未被保存 if(b == true || richTextBox1.Text.Trim() != "") { //若文件未保存 if(s == false) { string result; result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString(); switch(result) { case"Yes": //若文件是從磁盤打開的 if(b == true) { //按文件打開的路徑保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); }else if(sdlgNotepad.ShowDialog()==DialogResult.OK) { richTextBox1.SaveFile(sdlgNotepad.FileName); } s = true; richTextBox1.Text = ""; break; case"No": b = false; richTextBox1.Text = ""; break; } } } } //******************************************* // 【保存】菜單代碼 //******************************************** private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) { //若文件從磁盤打開并且修改了其中內(nèi)容 if(b == true && richTextBox1.Modified == true) { richTextBox1.SaveFile(odlgNotepad.FileName); s = true; } else if(b == false && richTextBox1.Text.Trim() != "" &&sdlgNotepad.ShowDialog() == DialogResult.OK) { //保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); s = true; b = true; odlgNotepad.FileName = sdlgNotepad.FileName; } } //********************************************** // 【打開】菜單代碼 //************************************************ private void 打開OToolStripMenuItem_Click(object sender, EventArgs e) { //判斷當(dāng)前文件是否是從磁盤打開,或者新建時(shí)文檔不為空,并且文件未被保存 try { if (b == true || richTextBox1.Text.Trim() != "") { if (s == false) { string result; result = MessageBox.Show("文件尚未保存,是否保存?", "保存文件", MessageBoxButtons.YesNoCancel).ToString(); switch (result) { case "Yes": //若文件是從磁盤打開的 if (b == true) { //按文件打開的路徑保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); } else if (sdlgNotepad.ShowDialog() == DialogResult.OK) { richTextBox1.SaveFile(sdlgNotepad.FileName); } s = true; richTextBox1.Text = ""; break; case "No": b = false; richTextBox1.Text = ""; break; } } } odlgNotepad.RestoreDirectory = true; if ((odlgNotepad.ShowDialog() == DialogResult.OK) && odlgNotepad.FileName != "") { //打開文件 richTextBox1.LoadFile(odlgNotepad.FileName); b = true; } s = true; } catch(Exception ex) { } } //************************************ // 【另存為】菜單代碼 //***************************************** private void 另存為AToolStripMenuItem_Click(object sender, EventArgs e) { if(sdlgNotepad.ShowDialog() == DialogResult.OK) { richTextBox1.SaveFile(sdlgNotepad.FileName); s = true; } } //*************************************** // 【退出】菜單代碼 //****************************************** private void 退出XToolStripMenuItem_Click(object sender, EventArgs e) { //結(jié)束程序運(yùn)行 Application.Exit(); } //************************************ // 【編輯】菜單各菜單項(xiàng)的單擊代碼 //********************************************* // 【撤銷】菜單代碼 private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e) { //撤銷操作 richTextBox1.Undo(); } // 【復(fù)制】菜單代碼 private void 復(fù)制CToolStripMenuItem_Click(object sender, EventArgs e) { //復(fù)制 richTextBox1.Copy(); } // 【剪切】菜單代碼 private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e) { //剪切 richTextBox1.Cut(); } // 【粘貼】菜單代碼 private void 粘貼PToolStripMenuItem_Click(object sender, EventArgs e) { //粘貼 richTextBox1.Paste(); } // 【全選】菜單代碼 private void 全選AToolStripMenuItem_Click(object sender, EventArgs e) { //全選 richTextBox1.SelectAll(); } //************************************* // 【格式】菜單代碼 //*************************************** private void 工具TToolStripMenuItem_Click(object sender, EventArgs e) { } // 【自動(dòng)換行】菜單代碼 private void 自定義CToolStripMenuItem_Click(object sender, EventArgs e) { if(自定義CToolStripMenuItem.Checked == false) { //選中自動(dòng)換行 自定義CToolStripMenuItem.Checked = true; //設(shè)置為自動(dòng)換行 richTextBox1.WordWrap = true; } else { //未選中自動(dòng)換行 自定義CToolStripMenuItem.Checked = false; //設(shè)置為不自動(dòng)換行 richTextBox1.WordWrap = false; } } // 【字體】菜單代碼 private void 選項(xiàng)OToolStripMenuItem_Click(object sender, EventArgs e) { fdlgNotepad.ShowColor = true; if(fdlgNotepad.ShowDialog() == DialogResult.OK) { richTextBox1.SelectionColor = fdlgNotepad.Color; richTextBox1.SelectionFont = fdlgNotepad.Font; } } //************************************ // 【幫助】菜單代碼 //************************************ // 【關(guān)于】菜單代碼 private void 關(guān)于AToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("wky 編寫", "關(guān)于\"記事本\"", MessageBoxButtons.OK); } //*************************************** // 計(jì)時(shí)器控件的Tick事件代碼 //************************************ private void tmrNotepad_Tick(object sender, EventArgs e) { //獲取系統(tǒng)當(dāng)前時(shí)間,并顯示在狀態(tài)欄中 tssLbl2.Text = System.DateTime.Now.ToString(); } private void 粘貼PToolStripButton_Click(object sender, EventArgs e) { richTextBox1.Paste(); } } }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。