C#编写一个简单记事本功能
本文实例为大家分享了C#编写记事本的具体代码,供大家参考,具体内容如下
usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; usingSystem.Windows.Forms; namespaceNotepad { publicpartialclassfrmNotepad:Form { //**************************************** /*布尔变量b用于判断文件是新建的还是从磁盘打开的true表示从磁盘打开,false表示文件是新建的,默认值为false*/ boolb=false; /*布尔变量s用于判断文件是否被保存true表示已经被保存,false表示未被保存,默认值为true*/ bools=true; //*********************************** publicfrmNotepad() { InitializeComponent(); richTextBox1.Text=""; } //*********************************************** //多格式文本框的TextChanged事件代码 //************************************************ privatevoidrichTextBox1_TextChanged(objectsender,EventArgse) { //文本框被修改后,设置s为false,表示文件未保存 s=false; } //***************************************** //【文件】菜单各菜单项的单击代码 //******************************************* //***************************************** //【新建】菜单代码 //********************************************* privatevoid新建NToolStripMenuItem_Click(objectsender,EventArgse) { //判断当前文件是否是从磁盘打开,或者新建时文档不为空,并且文件未被保存 if(b==true||richTextBox1.Text.Trim()!="") { //若文件未保存 if(s==false) { stringresult; result=MessageBox.Show("文件尚未保存,是否保存?","保存文件",MessageBoxButtons.YesNoCancel).ToString(); switch(result) { case"Yes": //若文件是从磁盘打开的 if(b==true) { //按文件打开的路径保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); }elseif(sdlgNotepad.ShowDialog()==DialogResult.OK) { richTextBox1.SaveFile(sdlgNotepad.FileName); } s=true; richTextBox1.Text=""; break; case"No": b=false; richTextBox1.Text=""; break; } } } } //******************************************* //【保存】菜单代码 //******************************************** privatevoid保存SToolStripMenuItem_Click(objectsender,EventArgse) { //若文件从磁盘打开并且修改了其中内容 if(b==true&&richTextBox1.Modified==true) { richTextBox1.SaveFile(odlgNotepad.FileName); s=true; } elseif(b==false&&richTextBox1.Text.Trim()!=""&&sdlgNotepad.ShowDialog()==DialogResult.OK) { //保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); s=true; b=true; odlgNotepad.FileName=sdlgNotepad.FileName; } } //********************************************** //【打开】菜单代码 //************************************************ privatevoid打开OToolStripMenuItem_Click(objectsender,EventArgse) { //判断当前文件是否是从磁盘打开,或者新建时文档不为空,并且文件未被保存 try { if(b==true||richTextBox1.Text.Trim()!="") { if(s==false) { stringresult; result=MessageBox.Show("文件尚未保存,是否保存?","保存文件",MessageBoxButtons.YesNoCancel).ToString(); switch(result) { case"Yes": //若文件是从磁盘打开的 if(b==true) { //按文件打开的路径保存文件 richTextBox1.SaveFile(sdlgNotepad.FileName); } elseif(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(Exceptionex) { } } //************************************ //【另存为】菜单代码 //***************************************** privatevoid另存为AToolStripMenuItem_Click(objectsender,EventArgse) { if(sdlgNotepad.ShowDialog()==DialogResult.OK) { richTextBox1.SaveFile(sdlgNotepad.FileName); s=true; } } //*************************************** //【退出】菜单代码 //****************************************** privatevoid退出XToolStripMenuItem_Click(objectsender,EventArgse) { //结束程序运行 Application.Exit(); } //************************************ //【编辑】菜单各菜单项的单击代码 //********************************************* //【撤销】菜单代码 privatevoid撤消UToolStripMenuItem_Click(objectsender,EventArgse) { //撤销操作 richTextBox1.Undo(); } //【复制】菜单代码 privatevoid复制CToolStripMenuItem_Click(objectsender,EventArgse) { //复制 richTextBox1.Copy(); } //【剪切】菜单代码 privatevoid剪切TToolStripMenuItem_Click(objectsender,EventArgse) { //剪切 richTextBox1.Cut(); } //【粘贴】菜单代码 privatevoid粘贴PToolStripMenuItem_Click(objectsender,EventArgse) { //粘贴 richTextBox1.Paste(); } //【全选】菜单代码 privatevoid全选AToolStripMenuItem_Click(objectsender,EventArgse) { //全选 richTextBox1.SelectAll(); } //************************************* //【格式】菜单代码 //*************************************** privatevoid工具TToolStripMenuItem_Click(objectsender,EventArgse) { } //【自动换行】菜单代码 privatevoid自定义CToolStripMenuItem_Click(objectsender,EventArgse) { if(自定义CToolStripMenuItem.Checked==false) { //选中自动换行 自定义CToolStripMenuItem.Checked=true; //设置为自动换行 richTextBox1.WordWrap=true; } else { //未选中自动换行 自定义CToolStripMenuItem.Checked=false; //设置为不自动换行 richTextBox1.WordWrap=false; } } //【字体】菜单代码 privatevoid选项OToolStripMenuItem_Click(objectsender,EventArgse) { fdlgNotepad.ShowColor=true; if(fdlgNotepad.ShowDialog()==DialogResult.OK) { richTextBox1.SelectionColor=fdlgNotepad.Color; richTextBox1.SelectionFont=fdlgNotepad.Font; } } //************************************ //【帮助】菜单代码 //************************************ //【关于】菜单代码 privatevoid关于AToolStripMenuItem_Click(objectsender,EventArgse) { MessageBox.Show("wky编写","关于\"记事本\"",MessageBoxButtons.OK); } //*************************************** //计时器控件的Tick事件代码 //************************************ privatevoidtmrNotepad_Tick(objectsender,EventArgse) { //获取系统当前时间,并显示在状态栏中 tssLbl2.Text=System.DateTime.Now.ToString(); } privatevoid粘贴PToolStripButton_Click(objectsender,EventArgse) { richTextBox1.Paste(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。