C#记事本

来源:互联网 发布:游戏公司的程序员累吗 编辑:程序博客网 时间:2024/04/30 20:34
没找到上传压缩文件的按钮,只好把源代码上传到这里了.
注释很详细哦
Form1.cs   ************************************************
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace txttest{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        /******************************************************************/        /******************************************************************/        /******************************************************************/        /******************************************************************/        #region 定义变量        public bool txtchange; //定义用于检查文本是否改变的变量        public bool save;      //定义bool类型Save判断用户选择得是SaveFile()还是SaveAsFile()        Search sea;       //声明查找的成员        Change cha;            //声明替换的成员        #endregion        #region 文件菜单        //新建        private void MnuNew_Click(object sender, EventArgs e)        {            NewFile();        }        //打开        private void MnuOpen_Click(object sender, EventArgs e)        {            OpenFile();        }        //保存        private void MnuSave_Click(object sender, EventArgs e)        {            save = true;            SaveFile();        }        //另存为        private void MnuSaveAs_Click(object sender, EventArgs e)        {            save = false;            SaveFile();        }        //页面设置        private void MnuPageSetup_Click(object sender, EventArgs e)        {            pageSetupDialog1 = new PageSetupDialog();     //初始化pageSetupDialog1的新实例            pageSetupDialog1.Document = printDocument;    //获取或设置一个值,指示从中获取页面设置            pageSetupDialog1.ShowDialog();                //弹出页面设置对话框        }        //打印预览        private void MnuPringPreview_Click(object sender, EventArgs e)        {            printPreviewDialog.ShowDialog();          //调用系统的打印预览对话框        }                //打印        private void MnuPrint_Click(object sender, EventArgs e)        {            printDocument.DocumentName = richTextBox1.Text;    //获取打印得文档名            printDialog.Document = printDocument;              //打印对话框            if (printDialog.ShowDialog() == DialogResult.OK)   //点击打印的确定按钮==OK            {                //异常处理                try                 {                    printDocument.Print();                     //try 打印时是否出错                }                catch(Exception ex)                {                    MessageBox.Show(ex.Message);               //出错则弹出系统定义的错误信息                }            }           }        //退出        private void MnuExit_Click(object sender, EventArgs e)        {            DialogResult res;            //实例化对话框的结果按钮为res=OK,Cancle            res = MessageBox.Show("确定退出记事本?", "退出提示", MessageBoxButtons.OKCancel);            if (res == DialogResult.OK)            {                //判断文件是否修改过   包括空格                if (txtchange)                {                    DialogResult re;     //实例化对话框的结果按钮为res=Yes,No,Cancle                    re = MessageBox.Show("内容已更改/n是否保存?", "保存提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);                    if (re == DialogResult.Yes)                    {                        if (saveFileDialog.ShowDialog() == DialogResult.OK)//点击保存文件对话框得OK时执行下面                        {                            //获取将要保存的文件名,并将其中的文件获取并保存                            richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);                            Close();     //保存并退出                                                    }                        else                            return;      //返回至编辑界面                    }                    else if (re == DialogResult.No)                    {                        Close();         //不保存退出                    }                    else                    {                        return;          //返回至编辑界面                    }                }                else                    Close();             //文件没有被修改过,直接退出            }            else                return;                  //返回至编辑界面        }        //检查txtbox中内容是否有更改        private void richTextBox1_KeyPress_1(object sender, KeyPressEventArgs e)        {            //获取键盘的按键值            if (e.KeyChar.ToString() != "")                //若获取到键盘按键,则txtchange=TRUE                txtchange = true;        }        #endregion        #region 编辑菜单        //撤销        private void MnuRemove_Click(object sender, EventArgs e)        {                richTextBox1.Undo();    //系统的撤销方法        }        //剪切        private void MnuCut_Click(object sender, EventArgs e)        {            richTextBox1.Cut();         //系统的剪切方法        }        //复制        private void MnuCopy_Click(object sender, EventArgs e)        {            richTextBox1.Copy();        //系统的复制方法        }        //粘贴        private void MnuStick_Click(object sender, EventArgs e)        {            richTextBox1.Paste();       //系统的粘贴方法        }        //删除        private void MnuDel_Click(object sender, EventArgs e)        {                richTextBox1.SelectedText = "";   //将选定的文本设为空        }        //查找        private void MnuSearch_Click(object sender, EventArgs e)        {            //实例Search的成员sea            sea = new Search();            //弹出查找对话框            sea.Show();        }               //查找下一个        private void MnuSearchNext_Click(object sender, EventArgs e)        {            //实例Search的成员sea            sea = new Search();            //弹出查找对话框            sea.Show();        }        //替换        private void MnuSwap_Click(object sender, EventArgs e)        {            //实例Change的成员cha            cha = new Change();            //弹出查找下一个对话框            cha.Show();        }        //转到        private void MnuTurn_Click(object sender, EventArgs e)        {            Go go = new Go();            go.Show();        }        //全选        private void MnuFull_Click(object sender, EventArgs e)        {            richTextBox1.SelectAll();      //系统全选的方法        }        //时间 -- 日期        private void MnuTime_Click(object sender, EventArgs e)        {            richTextBox1.Text += DateTime.Now.ToString();   //添加系统当前时间        }        #endregion        #region 格式菜单        //自动换行        private void MnuLineWrap_Click(object sender, EventArgs e)        {            if (richTextBox1.WordWrap)         //WordWrap为richTextBox的换行属性            {                richTextBox1.WordWrap = false; //true时为自动换行            }            else                richTextBox1.WordWrap = true;           }        //字体        private void MnuFont_Click(object sender, EventArgs e)        {            FontDialog ftDg = new FontDialog(); //实例化字体设置            ftDg.ShowColor = true;              //设置字体颜色            ftDg.AllowScriptChange = true;      //获取外部字符集            ftDg.AllowVectorFonts = true;       //斜体字            ftDg.ShowEffects = true;            //删除线,下划线,字体颜色            if (ftDg.ShowDialog() == DialogResult.OK)            {                richTextBox1.Font = ftDg.Font;                richTextBox1.ForeColor = ftDg.Color;            }        }        #endregion        #region 查看菜单        //状态栏        private void MnuStatusBar_Click(object sender, EventArgs e)        {            if (statusStrip1.Visible)           //状态栏的属性Visible            {                statusStrip1.Visible = false;   //true时为显示状态栏            }            else            {                statusStrip1.Visible = true;                            }        }        #endregion        #region 帮助菜单        //帮助主题        private void MnuTheme_Click(object sender, EventArgs e)        {            System.Diagnostics.Process.Start(@"c:/windows/help/notepad.chm");    //调出系统目录下得记事本帮助文档        }        //关于记事本        private void MnuAbout_Click(object sender, EventArgs e)        {            //实例化About类成员ab            About ab = new About();            //为成员控件赋值            ab.label5.Text = "制作:/n/n汪祖华-李涛-孙远飞-闫兴/n/n技术支持:鄢涛老师";            //调出成员对话框            ab.Show();        }        #endregion        #region 被调用的方法        //新建文件的方法        private void NewFile()        {            //判断文件是否修改过   包括空格            if (txtchange)            {                //实例化对话框的成员re为对话框的按钮Yes,No,Cancle                DialogResult re;                re = MessageBox.Show("内容已更改,是否保存?", "保存提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);                //判断所选按钮                switch (re)                {                    case DialogResult.Yes:            //若选择yes弹出保存对话框                        {                            //若选择保存按钮执行下列                            if (saveFileDialog.ShowDialog() == DialogResult.OK)                            {                                //获取将要保存的文件名,并将其中的文件获取并保存                                richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);                                //保存后清空内容  ,相当于新建文件                                richTextBox1.Clear();                            }                            else                                return;          //不保存,返回文件编辑界面                        }                        break;                   //switch,case的结构是每一个case都要有break                    case DialogResult.No:        //选择不保存文件                        richTextBox1.Clear();    //清空内容  ,相当于新建文件                        break;                    case DialogResult.Cancel:    //选择取消,                        break;                   //不对文件内容做更改,直接返回                }            }            else                richTextBox1.Clear();             //文件内容未作更改,直接清空文件内容        }        //打开文件的方法        private void OpenFile()        {            //判断文件是否修改过   包括空格            if (txtchange)            {                //实例化对话框的成员re为对话框的按钮Yes,No,Cancle                DialogResult re;                re = MessageBox.Show("内容已更改,是否保存?", "保存提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);                //判断所选按钮                switch (re)                {                    case DialogResult.Yes:        //选择保存                        {                            //如果保存对话框选择保存执行以下                            if (saveFileDialog.ShowDialog() == DialogResult.OK)                            {                                //获取将要保存的文件名,并将其中的文件获取并保存                                richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);                                //保存完毕,调用打开文件方法                                                                OpenFile_2();                            }                        }                        break;     //返回新打开的文件                    case DialogResult.No:       //选择不保存,直接弹出打开文件对话框                        {                                                        OpenFile_2();                        }                        break;           //返回新打开的文件                    case DialogResult.Cancel:     //选择取消按钮,返回至编辑界面                        break;                }            }            else            {                OpenFile_2();        //文件内容没有更改,直接弹出打开文件对话框            }                }        //保存和另存的方法        private void SaveFile()        {            //当用户单击保存时save = true            if (save == true)            {                //选择保存对话框按钮 OK                if (saveFileDialog.ShowDialog() == DialogResult.OK)                {                    //获取将要保存的文件名,并将其中的文件获取并保存                    richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);                }                else                    return;     //返回至编辑界面            }            else    //此为用户选择另存为按钮时save = false            {                //选择另存对话框按钮 OK                if (saveAsFileDialog.ShowDialog() == DialogResult.OK)                {                    //获取将要保存的文件名,并将其中的文件获取并保存                    richTextBox1.SaveFile(saveAsFileDialog.FileName, RichTextBoxStreamType.PlainText);                }                else                    return;      //返回至编辑界面            }        }        private void OpenFile_2()        {            //弹出打开文件对话框            if (openFileDialog.ShowDialog() == DialogResult.OK)            {                //将Form1的Text属性赋值为文件名                Text = openFileDialog.FileName;                //获取文件内容,加载数据流至richTextBox.Text                richTextBox1.LoadFile(openFileDialog.FileName, RichTextBoxStreamType.PlainText);            }        }        #endregion        #region 其他事件        //鼠标位置        private void richTextBox1_MouseMove_1(object sender, MouseEventArgs e)        {            //将鼠标的坐标显示在任务栏的toolLabel_Mouse的属性Text中            toolLabel_Mouse.Text = e.X.ToString() + "." + e.Y.ToString();        }        //显示系统时间                private void timer1_Tick(object sender, EventArgs e)        {            //将系统时间赋给任务栏的toolLabel_Time的属性Text中            toolLabel_Time.Text = DateTime.Now.ToString();                    }        //打开时的时间        private void Form1_Load(object sender, EventArgs e)        {            //将加载窗体时的时间赋给toolLabel_Opentime.Text            toolLabel_Opentime.Text = DateTime.Now.ToString("MM-dd H:mm:ss");  //MM-dd H:mm:ss   其中得一个H表示上午时显示一位数,例如8点,而不是显示08        }        #endregion        #region richtextbox     右键菜单        //*****************右键菜单实现的功能与编辑菜单中相应的编辑键有相同的功能***********//        private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)        {            richTextBox1.Undo();        }        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)        {            richTextBox1.Copy();        }        private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)        {            richTextBox1.Cut();        }        private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)        {            richTextBox1.Paste();        }        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)        {            richTextBox1.SelectedText = "";        }        #endregion        #region 菜单            右键菜单        //当鼠标再菜单和任务栏右击时的菜单        private void 关于记事本ToolStripMenuItem_Click(object sender, EventArgs e)        {            About ab = new About();            ab.label5.Text = "制作:/n/n汪祖华-李涛-孙远飞-闫兴/n/n技术支持:鄢涛老师";            ab.Show();        }        #endregion    }}
Class1.cs   ************************************************
using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;//using System.IO;
namespace txttest{    class Class1    {
        public void About_1()        {            System.Diagnostics.Process.Start("http://www.cdu.edu.cn/");        }        public void About_2()        {            System.Diagnostics.Process.Start("http://computer.cdu.edu.cn/");        }        public void About_3()        {            System.Diagnostics.Process.Start("http://computer.cdu.edu.cn/teacher/teacherIndex.action?id=4af3db8e1902c49a01190362138f003b");                }    }}
Class2.cs   *************************************************
using System;using System.Collections.Generic;using System.Text;
namespace txttest{    class Class2 : Class1    {        //继承于:Class1    }}
About.cs   **************************************************
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;
namespace txttest{    public partial class About : Form    {        public About()        {            InitializeComponent();        }        /******************************************************************/        /******************************************************************/        /******************************************************************/        /******************************************************************/        Class2 sp = new Class2();        private void timer1_Tick(object sender, EventArgs e)        {            label4.Text = DateTime.Now.ToLongDateString() + "/n" + DateTime.Now.ToLongTimeString();
        }
        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)        {            sp.About_1();        }
        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)        {            sp.About_2();        }
        private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)        {            sp.About_3();        }    }}