zoukankan      html  css  js  c++  java
  • 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();
            }
    
            
    
        }
    }
    复制代码

  • 相关阅读:
    树莓派3B+通过路由器进SSH和VNC
    vue 构造函数的 add 方法
    jQuery选择器-->属性选择器
    jQuery选择器-->过滤选择器之表单子元素过滤器
    jQuery选择器-->过滤选择器之表单对象的属性过滤器
    jQuery选择器-->过滤选择器之可见性过滤器
    jQuery选择器-->过滤选择器之内容过滤器
    jQuery选择器-->过滤选择器之简单过滤器
    jQuery选择器-->层次选择器之prev~siblings选择器
    jQuery选择器-->层次选择器之prev+next选择器
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7884654.html
Copyright © 2011-2022 走看看