好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#编写一个简单记事本功能

本文实例为大家分享了C#编写记事本的具体代码,供大家参考,具体内容如下

?

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 表示文件是新建的,默认值为 false */

   bool b = false ;

   /*布尔变量s用于判断文件是否被保存 true 表示已经被保存,false表示未被保存,默认值为true*/

   bool s = true ;

   //***********************************

 

   public frmNotepad()

   {

    InitializeComponent();

    richTextBox1.Text = "" ;

   }

 

   //***********************************************

   // 多格式文本框的TextChanged事件代码

   //************************************************

   private void richTextBox1_TextChanged( object sender, EventArgs e)

   {

    //文本框被修改后,设置s为false,表示文件未保存

    s = false ;

   }

 

 

   //*****************************************

   // 【文件】菜单各菜单项的单击代码

   //*******************************************

   //*****************************************

   // 【新建】菜单代码

   //*********************************************

   private void 新建NToolStripMenuItem_Click( object sender, EventArgs e)

   {

    //判断当前文件是否是从磁盘打开,或者新建时文档不为空,并且文件未被保存

    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)

   {

    //若文件从磁盘打开并且修改了其中内容

    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)

   {

     //判断当前文件是否是从磁盘打开,或者新建时文档不为空,并且文件未被保存

    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)

   {

    //结束程序运行

    Application.Exit();

   }

 

   //************************************

   // 【编辑】菜单各菜单项的单击代码

   //*********************************************

   // 【撤销】菜单代码

   private void 撤消UToolStripMenuItem_Click( object sender, EventArgs e)

   {

    //撤销操作

    richTextBox1.Undo();

   }

 

   // 【复制】菜单代码

   private void 复制CToolStripMenuItem_Click( object sender, EventArgs e)

   {

    //复制

    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)

   {

 

   }

 

   // 【自动换行】菜单代码

   private void 自定义CToolStripMenuItem_Click( object sender, EventArgs e)

   {

    if (自定义CToolStripMenuItem.Checked == false )

    {

     //选中自动换行

     自定义CToolStripMenuItem.Checked = true ;

     //设置为自动换行

     richTextBox1.WordWrap = true ;

    }

    else

    {

     //未选中自动换行

     自定义CToolStripMenuItem.Checked = false ;

     //设置为不自动换行

     richTextBox1.WordWrap = false ;

    }

   }

 

   // 【字体】菜单代码

   private void 选项OToolStripMenuItem_Click( object sender, EventArgs e)

   {

    fdlgNotepad.ShowColor = true ;

    if (fdlgNotepad.ShowDialog() == DialogResult.OK)

    {

     richTextBox1.SelectionColor = fdlgNotepad.Color;

     richTextBox1.SelectionFont = fdlgNotepad.Font;

    }

   }

 

   //************************************

   // 【帮助】菜单代码

   //************************************

   // 【关于】菜单代码

   private void 关于AToolStripMenuItem_Click( object sender, EventArgs e)

   {

    MessageBox.Show( "wky 编写" , "关于\"记事本\"" , MessageBoxButtons.OK);

   }

 

   //***************************************

   // 计时器控件的Tick事件代码

   //************************************

   private void tmrNotepad_Tick( object sender, EventArgs e)

   {

    //获取系统当前时间,并显示在状态栏中

    tssLbl2.Text = System.DateTime.Now.ToString();

   }

 

   private void 粘贴PToolStripButton_Click( object sender, EventArgs e)

   {

    richTextBox1.Paste();

   }

 

  

 

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://HdhCmsTestcnblogs测试数据/ky415/archive/2017/10/24/7724673.html

dy("nrwz");

查看更多关于C#编写一个简单记事本功能的详细内容...

  阅读:47次