记事本部分功能

namespace 记事本

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        //编辑栏

        private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e) //撤销

        {

            if (textBox1.CanUndo == true) //判断是否能够撤销  

            {

                textBox1.Undo();   //撤销最后一个操作。

                textBox1.ClearUndo();//清除撤销缓冲区,以防止最后的动作被重做。

            }

        }



       private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e) //剪切

        {

                textBox1.Cut(); //将选中的文本粘贴到剪贴板的控制。

        }



        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e) //复制

        {

                textBox1.Copy();  //选中的文本复制到剪贴板。

        }



        private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) //粘贴

        {  

                textBox1.Paste(); //将当前文本剪贴板粘贴到文本框中。

        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) //删除

        {

            textBox1.SelectedText = ""; //SelectedText 选中的文本

        }



        private void 全选ToolStripMenuItem_Click(object sender, EventArgs e) //全选

        {

            textBox1.SelectAll();

        }











        //文件栏(对话框)

      

        private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) //新建

        {

            if (this.textBox1.Text.Length>0) //只有文本长度不为0才会执行下面的代码

            {

                DialogResult drg = MessageBox.Show("是否进行保存","保存对话框",MessageBoxButtons.YesNo);

                if(drg==DialogResult.Yes)

                {

                    if (Lujing == null) //如果之前没有路径,就相当于执行另存为

                    {

                        saveFileDialog1.Filter = "文本文件|*.txt";

                        DialogResult lcw = saveFileDialog1.ShowDialog();

                        if (lcw == DialogResult.OK)

                        {

                            string file = saveFileDialog1.FileName;

                            //创建流

                            StreamWriter path = new StreamWriter(file);

                            path.Write(this.textBox1.Text);//将textBox1.text写入到路径里面

                            path.Close();

                        }

                    }

                    else

                    {

                        StreamWriter path = new StreamWriter(Lujing);

                        path.Write(this.textBox1.Text);

                        path.Close();

                    }

                }

            }

            Lujing = null;//执行完新建将路径变为空,因为是新建的文本是不会有路径的.

            this.textBox1.Text = ""; //将文本框清空

        }



        

        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e) //打开

        {  

            //再打开文本的时候,先对之前的文本执行是否保存

            if (this.textBox1.Text.Length > 0)

            {

                DialogResult drg = MessageBox.Show("是否进行保存", "保存对话框", MessageBoxButtons.YesNo);

                if (drg == DialogResult.Yes)

                {

                    if (Lujing == null) //如果之前没有路径,就相当于执行另存为

                    {

                        saveFileDialog1.Filter = "文本文件|*.txt";

                        DialogResult lcw = saveFileDialog1.ShowDialog();

                        if (lcw == DialogResult.OK)

                        {

                            string file = saveFileDialog1.FileName;

                            //创建流

                            StreamWriter path = new StreamWriter(file);

                            path.Write(this.textBox1.Text);//将textBox1.text写入到路径里面

                            path.Close();

                        }

                    }

                    else

                    {

                        StreamWriter path = new StreamWriter(Lujing);

                        path.Write(this.textBox1.Text);

                        path.Close();

                    }

                }

                //保存完之后再打开新的

                openFileDialog1.Filter = "文本文件.txt|*.txt|所有文件|*.*"; //筛选文件类型

                DialogResult dk = openFileDialog1.ShowDialog();  //创建一个枚举类型的变量dk来接收打开这个对话框

                if (dk == DialogResult.OK) //如果点的是确定,才会执行下面的代码

                {

                    string file = openFileDialog1.FileName;//定义一个变量来接收路径

                    //创建文件流 来将路径转换

                    StreamReader path = new StreamReader(file, Encoding.Default); //Encoding.Default 编码方式

                    textBox1.Text = path.ReadToEnd();//用ReadToEnd这个方法来将转换后的路径从头读到尾,从而显示在textbox1.text里面

                    path.Close();//用完流之后必须关闭

                    Lujing = file; //将路径存到Lujing里面

                }

            }

            else

            {

                //如果没有文本,直接打开新的

                openFileDialog1.Filter = "文本文件.txt|*.txt|所有文件|*.*"; //筛选文件类型

                DialogResult dk = openFileDialog1.ShowDialog();  //创建一个枚举类型的变量dk来接收打开这个对话框

                if (dk == DialogResult.OK) //如果点的是确定,才会执行下面的代码

                {

                    string file = openFileDialog1.FileName;//定义一个变量来接收路径

                    //创建文件流 来将路径转换

                    StreamReader path = new StreamReader(file, Encoding.Default); //Encoding.Default 编码方式

                    textBox1.Text = path.ReadToEnd();//用ReadToEnd这个方法来将转换后的路径从头读到尾,从而显示在textbox1.text里面

                    path.Close();//用完流之后必须关闭

                    Lujing = file; //将路径存到Lujing里面

                }

            }



        }

        private string Lujing; //定义一个变量来存放路径

        private void 保存ToolStripMenuItem_Click(object sender, EventArgs e) //保存

        {

            if(Lujing==null) //如果之前没有路径,就相当于执行另存为

            {

                saveFileDialog1.Filter = "文本文件|*.txt";

                DialogResult lcw = saveFileDialog1.ShowDialog();

                if (lcw == DialogResult.OK)

                {

                    string file = saveFileDialog1.FileName;



                    //创建流

                    StreamWriter path = new StreamWriter(file);

                    path.Write(textBox1.Text);//将textBox1.text写入到路径里面

                    path.Close();

                } 

            }

            else //如果有路径,就存到之前的路径里面

            {

                StreamWriter path = new StreamWriter(Lujing);

                path.Write(textBox1.Text);

                path.Close();



            }

        }



       private void 另存为ToolStripMenuItem_Click(object sender, EventArgs e) //另存为

        {

            saveFileDialog1.Filter = "文本文件|*.txt";

            DialogResult lcw = saveFileDialog1.ShowDialog();

           if(lcw==DialogResult.OK)

           {

               string file = saveFileDialog1.FileName;



               //创建流

               StreamWriter path = new StreamWriter(file);

               path.Write(textBox1.Text);//将textBox1.text写入到路径里面

               path.Close();

           }

        }



       private void 页面设置ToolStripMenuItem_Click(object sender, EventArgs e) //页面设置

       {

           pageSetupDialog1.Document = printDocument1;//为页面设置对话框指定打印对象

           pageSetupDialog1.ShowDialog();//打开页面对话框

       }

       private void 打印ToolStripMenuItem_Click(object sender, EventArgs e)//打印

       {

         

          DialogResult dy = printDialog1.ShowDialog();

           if(dy==DialogResult.OK)

           {

               printDocument1.Print(); //打印对象

           }

       }

       private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) //设置打印画板

       {   System.Drawing.Font f=new System.Drawing.Font("宋体",12);

           e.Graphics.DrawString(this.textBox1.Text,f,SystemBrushes.ActiveBorder,5,5); //e 代表每一页

       }



       private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) //退出

       {

           this.Close();

       }











        //格式

        private void 自动换行ToolStripMenuItem_Click(object sender, EventArgs e)//自动换行

        {

            textBox1.WordWrap = !textBox1.WordWrap;//点一下自动换行,再点一下不自动换行 WordWrap 是否允许自动换行



            自动换行ToolStripMenuItem.Checked = textBox1.WordWrap; //后面的小对号



        }



        private void 字体FToolStripMenuItem_Click(object sender, EventArgs e) //字体未完成

        {

            fontDialog1.ShowDialog();

           MessageBox.Show( fontDialog1.Font.ToString());

        }



        private void printDocument2_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

        {



        }

    }

}

 

你可能感兴趣的:(记事本)