记事本(c#实现,包含,打开,保存,另存为,复制,粘贴等功能)

   using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;

    namespace NotePad
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void tsmiAbout_Click(object sender, EventArgs e)
            {
                Form2 fo2 = new Form2();
                fo2.Show();
            }

            private void tsmiOpen_Click(object sender, EventArgs e)
            {
                
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Filter = "文本文件(*.txt)|*.txt";
           
                try
                {
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        StreamReader sr = new StreamReader(ofd.FileName, System.Text.Encoding.Default);
                        this.rtxtNotepad.Text = sr.ReadToEnd();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }

              private string textFileName = "";
              private string filePath = "";
            private void tsmiNew_Click(object sender, EventArgs e)
            {
           
                  textFileName = "";
                  if (rtxtNotepad.Text != string.Empty)
                {

                
                    if (MessageBox.Show("是否保存当前文件?", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
                        == DialogResult.Yes)
                    {
                    
                        Save();
                        rtxtNotepad.Text = "";
                    }
                    else if (MessageBox.Show("是否保存当前文件?", "温馨提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information)
                        == DialogResult.No)
                    {
                    
                        rtxtNotepad.Text = "";
                    }
                }

            }

            private void tsmiSave_Click(object sender, EventArgs e)
            {
                Save();
            }
            private void Save()
            {
                if (!textFileName.Equals(""))
                {
                    SaveFileDialog saveFile = new SaveFileDialog();
                    saveFile.Filter = "文本文件(*.txt)|*.txt";
                    StreamWriter sw = new StreamWriter(filePath, false);
                    sw.Write(rtxtNotepad.Text);
                    sw.Close();
                    MessageBox.Show("文件保存成功!", "温馨提示");
                    filePath = saveFile.FileName;
                    Text = textFileName ;
                }
                else
                {
                    HoldFile();
                }
            }

            private void HoldFile()
            {
            
                SaveFileDialog saveFile = new SaveFileDialog();
          
                saveFile.Filter = "文本文件(*.txt)|*.txt";
                if (saveFile.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter sw = new StreamWriter(saveFile.FileName, false);
                    sw.WriteLine(rtxtNotepad.Text);
                    sw.Close();
                    MessageBox.Show("文件保存成功!", "温馨提示");
                    filePath = saveFile.FileName;
                }
          
                if (textFileName.Equals(""))
                {
                    FileInfo fileInfo = new FileInfo(saveFile.FileName);
                    Text = fileInfo.Name;
                    textFileName = fileInfo.Name;
                }
                else
                {
                
                    Text = textFileName ;
                }
            }

      

            private void tsmiSaveAs_Click(object sender, EventArgs e)
            {
                HoldFile();
            }

            private void tsmiClose_Click(object sender, EventArgs e)
            {
                Close();
            }

            private void tsmiUndo_Click(object sender, EventArgs e)
            {
            
                    this.rtxtNotepad.Undo();
           
          
            }

            private void tsmiCopy_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Copy();
            }

            private void tsmiCut_Click(object sender, EventArgs e)
            {
           
                this.rtxtNotepad.Cut();
            }

            private void tsmiPaste_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Paste();
            }

            private void tsmiSelectAll_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.SelectAll();
            }

            private void tsmiDate_Click(object sender, EventArgs e)
            {
                rtxtNotepad.Text  += "现在时间是:" + DateTime.Now.ToString();
            }

            private void tsmiAuto_Click(object sender, EventArgs e)
            {
                if (tsmiAuto.Checked == true)
                {
                    rtxtNotepad.WordWrap = true;
                }
                else
                {
                    rtxtNotepad.WordWrap = false;
                }
            }

            private void tsmiFont_Click(object sender, EventArgs e)
            {
                FontDialog fontDialog = new FontDialog();
                if (fontDialog.ShowDialog() == DialogResult.OK)
                {
                    rtxtNotepad.Font = fontDialog.Font;
                }
            }

            private void toolStripButton1_Click(object sender, EventArgs e)
            {
                OpenFileDialog ofd = new OpenFileDialog(); 
                ofd.Filter = "文本文件(*.txt)|*.txt";
           
                try
                {
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        StreamReader sr = new StreamReader(ofd.FileName, System.Text.Encoding.Default);
                        this.rtxtNotepad.Text = sr.ReadToEnd();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
            }

            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                Save();
            }

            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                HoldFile();
            }

            private void toolStripButton6_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Copy();
            }

            private void toolStripButton7_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Cut();
            }

            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Undo();
            }

            private void toolStripButton5_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Undo();
            }

            private void rtxtNotepad_TextChanged(object sender, EventArgs e)
            {
                int row = rtxtNotepad.GetLineFromCharIndex(rtxtNotepad.SelectionStart) + 1;
                int start = rtxtNotepad.GetFirstCharIndexOfCurrentLine();
                string s = rtxtNotepad.Text.Substring(start, rtxtNotepad.SelectionStart - start);
                int col = GetStringLen(s) + 1;
                toolStripStatusLabel1.Text = "第 " + row + " 行, 第 " + col + " 列;";
            }
            private int GetStringLen(string s)
            {
                if (!string.IsNullOrEmpty(s))
                {
                    int len = s.Length;
                    for (int i = 0; i < s.Length; i++)
                    {
                        if (s[i] > 255)
                            len++;
                    }
                    return len;
                }
                return 0;
            }

            private void statusStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
            {

            }

            private void toolStripStatusLabel2_Click(object sender, EventArgs e)
            {
               
            }

            private void timer1_Tick(object sender, EventArgs e)
            {
                toolStripStatusLabel2.Text ="当前时间:"+ DateTime.Now.ToString() ;
            }

            private void tsmiPrint_Click(object sender, EventArgs e)
            {

            }

            private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Copy();
            }

            private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Cut();
            }

            private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.Paste();
            }

            private void 全选ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.rtxtNotepad.SelectAll();
            }

            private void tsmiEdit_Click(object sender, EventArgs e)
            {
                if (rtxtNotepad.TextLength > 0)
                {
                    tsmiCopy.Enabled = true;
                    tsmiCut.Enabled = true;
                    tsmiPaste.Enabled = true;
                    tsmiUndo.Enabled = true;
                    tsmiSelectAll.Enabled = true;
                }
                else {
                    tsmiCopy.Enabled = false;
                    tsmiCut.Enabled = false;
                    tsmiPaste.Enabled = false;
                    tsmiUndo.Enabled = false;
                    tsmiSelectAll.Enabled = false;
            
                }
                //if (rtxtNotepad.SelectedText.Length > 0)
                //{

                //     tsmiCopy.Enabled = false;
                //    tsmiCut.Enabled = false;
                //    tsmiPaste.Enabled = false;
                //    tsmiSelectAll.Enabled = false;
                
                //}
                //else
                //{
                //      tsmiCopy.Enabled = false;
                //    tsmiCut.Enabled = false;
                //    tsmiPaste.Enabled = false;
                //    tsmiSelectAll.Enabled = false;
                //}
            }

            private void tsmiStatusStrip_Click(object sender, EventArgs e)
            {
                if (tsmiStatusStrip.Checked == false)
                {

                    tsmiStatusStrip.Checked = true;
                    statusStrip1.Show();
                }
                else {
                    tsmiStatusStrip.Checked = false;
                    statusStrip1.Hide();
                }
          
            
            }

            private void tsmiToolStrip_Click(object sender, EventArgs e)
            {
                if (tsmiToolStrip.Checked == false)
                {

                    tsmiToolStrip.Checked = true;
                    toolStrip1.Show();
                }
                else
                {
                    tsmiToolStrip.Checked = false;
                    toolStrip1.Hide ();
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {

            } 
        }
       
        }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值