- 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 MyNote
- {
- public partial class MainForm : Form
- {
- private bool sView = false; //状态栏的可见性
- public static string fillFindTxt = ""; //自动填写查找窗体的内容
- public static string fillReplaceKeyTxt = ""; //自动填写查找替换窗体的关键字内容
- public static string fillReplaceNewTxt = ""; 自动填写替换窗体的替换内容
- public RichTextBox RichTxt //rich编辑框属性
- {
- get { return richTxt; }
- set { richTxt = value; }
- }
- public MainForm()
- {
- InitializeComponent();
- }
- //主窗体被加载
- private void MainForm_Load(object sender, EventArgs e)
- {
- statusStrip1.Visible = false;
- }
- //新建文件
- private void NewFileTsm_Click(object sender, EventArgs e)
- {
- if (richTxt.Modified == true)
- {
- DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存", "保存文件", MessageBoxButtons.YesNoCancel);
- switch (dResult)
- {
- case DialogResult.Yes:
- SaveAsTsm_Click(sender,e);
- richTxt.Text="";
- break;
- case DialogResult.No:
- richTxt.Text="";
- break;
- }
- }
- }
- //打开文件
- private void OpenFileTsm_Click(object sender, EventArgs e)
- {
- if (richTxt.Modified == true)
- {
- DialogResult dResult = MessageBox.Show("文件" + this.Text + "的内容已被修改,是否保存", "保存文件", MessageBoxButtons.YesNoCancel);
- switch (dResult)
- {
- case DialogResult.Yes:
- SaveAsTsm_Click(sender, e);
- break;
- case DialogResult.No:
- richTxt.Text = "";
- break;
- case DialogResult.Cancel:
- return;
- }
- }
- OpenFileDialog ofd = new OpenFileDialog();
- ofd.Filter = "文本文件(*.txt)|*.txt";
- if (ofd.ShowDialog() == DialogResult.OK)
- {
- richTxt.LoadFile(ofd.FileName, RichTextBoxStreamType.PlainText);
- this.Text=Path.GetFileNameWithoutExtension(ofd.FileName);
- richTxt.Modified = false;
- }
- }
- //保存文件
- private void SaveFileTsm_Click(object sender, EventArgs e)
- {
- SaveFileDialog sfd = new SaveFileDialog();
- sfd.Title = "保存";
- sfd.FileName = "*.txt";
- sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";
- if (sfd.ShowDialog() == DialogResult.OK)
- {
- richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);
- richTxt.Modified = false;
- this.Text = Path.GetFileNameWithoutExtension(sfd.FileName) + "-小可记事本";
- }
- }
- //另存为文件
- private void SaveAsTsm_Click(object sender, EventArgs e)
- {
- SaveFileDialog sfd = new SaveFileDialog();
- sfd.Title = "另保存";
- sfd.FileName = "*.txt";
- sfd.Filter = "文本文件(*.txt)|*.txt|所有文件|*.*";
- if (sfd.ShowDialog() == DialogResult.OK)
- {
- richTxt.SaveFile(sfd.FileName, RichTextBoxStreamType.PlainText);
- richTxt.Modified = false;
- }
- }
- //退出记事本
- private void ExitTsm_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
- //代开颜色对话框
- private void ColorTsm_Click(object sender, EventArgs e)
- {
- ColorDialog cd = new ColorDialog();
- if (cd.ShowDialog() == DialogResult.OK)
- {
- richTxt.ForeColor = cd.Color;
- }
- }
- //打开字体对话框
- private void FontTsm_Click(object sender, EventArgs e)
- {
- FontDialog fd = new FontDialog();
- if (fd.ShowDialog() == DialogResult.OK)
- {
- richTxt.Font = fd.Font;
- }
- }
- //撤销
- private void UndoTsm_Click(object sender, EventArgs e)
- {
- richTxt.Undo();
- }
- //重做
- private void RedoTsm_Click(object sender, EventArgs e)
- {
- richTxt.Redo();
- }
- //剪切
- private void CutTsm_Click(object sender, EventArgs e)
- {
- richTxt.Cut();
- }
- //复制
- private void CopyTsm_Click(object sender, EventArgs e)
- {
- richTxt.Copy();
- }
- //粘贴
- private void PasteTsm_Click(object sender, EventArgs e)
- {
- richTxt.Paste();
- }
- //删除
- private void DeleteTsm_Click(object sender, EventArgs e)
- {
- richTxt.Text.Remove(richTxt.SelectionStart, richTxt.SelectionLength);
- }
- private void FindTsm_Click(object sender, EventArgs e)
- {
- FindForm fForm = new FindForm();
- fForm.Show(this);
- }
- private void ReplaceTsm_Click(object sender, EventArgs e)
- {
- ReplaceForm rForm = new ReplaceForm();
- rForm.Show(this);
- }
- private void timer1_Tick(object sender, EventArgs e)
- {
- timeTssl.Text ="当前时间 :"+ DateTime.Now.ToString();
- }
- private void StatesTsm_Click(object sender, EventArgs e)
- {
- sView=!sView;
- statusStrip1.Visible = sView;
- }
- private void richTxt_MouseMove(object sender, MouseEventArgs e)
- {
- mouseTssl.Text = " 鼠标的坐标:" +"X:"+e.X.ToString()+",Y:"+e.Y.ToString();
- }
- private void allSecTsm_Click(object sender, EventArgs e)
- {
- richTxt.SelectAll();
- }
- //关于记事本按钮
- private void ConcerningNoteTsm_Click(object sender, EventArgs e)
- {
- ConcerningForm cForm = new ConcerningForm();
- cForm.Show(this);
- }
- //查看帮助
- private void viewHelpTsm_Click(object sender, EventArgs e)
- {
- MessageBox.Show("百度一下,你就知道了","提示");
- System.Diagnostics.Process.Start("www.baidu.com");
- }
- //下面为弹出菜单
- private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e)
- {
- CutTsm_Click(sender, e);
- }
- private void 复制CToolStripMenuItem_Click(object sender, EventArgs e)
- {
- CopyTsm_Click(sender,e);
- }
- private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e)
- {
- PasteTsm_Click(sender, e);
- }
- private void 删除DToolStripMenuItem_Click(object sender, EventArgs e)
- {
- DeleteTsm_Click(sender, e);
- }
- private void 全选AToolStripMenuItem_Click(object sender, EventArgs e)
- {
- allSecTsm_Click(sender, e);
- }
- private void 撤销ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- UndoTsm_Click(sender, e);
- }
- private void 重做toolStripMenuItem_Click(object sender, EventArgs e)
- {
- RedoTsm_Click(sender, e);
- }
- }
- }
查找窗体:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace MyNote
- {
- public partial class FindForm : Form
- {
- private int upPos = 0; //向上查找时的索引位置
- private int downPos = 0; //向下查找时的索引位置
- private bool isCase = false; //是否区分大小写
- private bool isDown = true; //是否向下查找
- private string keyText = ""; //关键字
- private string mainText = ""; //主窗体内容
- public FindForm()
- {
- InitializeComponent();
- }
- //查找窗体被加载
- private void FindForm_Load(object sender, EventArgs e)
- {
- RbntDown.Checked = true;
- checkBox1.Checked = false;
- if (txtInput.Text == "")
- {
- bntFindNext.Enabled = false;
- }
- txtInput.Text = MainForm.fillFindTxt;
- mainText = ((MainForm)this.Owner).RichTxt.Text;
- }
- //取消按钮
- private void BntCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- //区分大小写
- private void checkBox1_CheckedChanged(object sender, EventArgs e)
- {
- isCase = checkBox1.Checked;
- }
- //方向向上查找
- private void RbtnUp_CheckedChanged(object sender, EventArgs e)
- {
- isDown = !RbtnUp.Checked;
- }
- //方向向下查找
- private void RbntDown_CheckedChanged(object sender, EventArgs e)
- {
- isDown = RbntDown.Checked;
- upPos = mainText.Length;
- }
- //查找按钮被按下
- private void bntFindNext_Click(object sender, EventArgs e)
- {
- keyText = txtInput.Text; //获取输入编辑框的内容
- mainText = ((MainForm)this.Owner).RichTxt.Text; //获取主窗体的内容
- if(!isCase) //不区分大小写
- {
- mainText = mainText.ToLower();
- keyText = keyText.ToLower();
- }
- if (isDown)
- {
- downPos = mainText.IndexOf(keyText, downPos);
- if (downPos < 0)
- {
- MessageBox.Show("未找到-" + txtInput.Text);
- downPos = 0;
- }
- else
- {
- ((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);
- this.Owner.Activate();
- downPos++;
- }
- }
- else
- {
- upPos = mainText.LastIndexOf(keyText, upPos);
- if (upPos < 0)
- {
- MessageBox.Show("未找到-" + txtInput.Text);
- upPos = mainText.Length;
- }
- else
- {
- ((MainForm)this.Owner).RichTxt.Select(upPos, keyText.Length);
- this.Owner.Activate();
- if(upPos!=0)upPos--;
- }
- }
- }
- //输入编辑框的内容被改变是,设置查找按钮的状态
- private void txtInput_TextChanged(object sender, EventArgs e)
- {
- if (txtInput.Text == "")
- {
- bntFindNext.Enabled = false;
- }
- else
- {
- bntFindNext.Enabled = true;
- }
- downPos = 0; //内容改变,查找点归0
- }
- //窗体被关闭
- private void FindForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- MainForm.fillFindTxt = txtInput.Text;
- //保存上一次输入的内容
- }
- }
- }
替换窗体:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace MyNote
- {
- public partial class ReplaceForm : Form
- {
- private int downPos=0; //默认为向下查找
- private bool isCase = false; //默认不区分大小写
- private string mainText = ""; //主窗体内容
- private string keyText = ""; //查找的内容
- public ReplaceForm()
- {
- InitializeComponent();
- }
- //窗体被加载
- private void ReplaceForm_Load(object sender, EventArgs e)
- {
- mainText = ((MainForm)this.Owner).RichTxt.Text;
- txtFind.Text = MainForm.fillReplaceKeyTxt;
- txtReplace.Text = MainForm.fillReplaceNewTxt;
- if (txtFind.Text == "")
- {
- bntAllRaplace.Enabled = false;
- bntReplace.Enabled = false;
- bntFindNext.Enabled = false;
- }
- checkBox1.Checked = false;
- }
- //取消按钮
- private void bntCancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- //查找下个按钮被单击
- private void bntFindNext_Click(object sender, EventArgs e)
- {
- mainText = ((MainForm)this.Owner).RichTxt.Text;
- keyText = txtFind.Text;
- if (!isCase) //不区分大小写
- {
- mainText = mainText.ToLower();
- keyText = keyText.ToLower();
- }
- downPos = mainText.IndexOf(keyText, downPos);
- if (downPos < 0)
- {
- MessageBox.Show("未找到-" + txtFind.Text);
- downPos = 0;
- }
- else
- {
- ((MainForm)this.Owner).RichTxt.Select(downPos, keyText.Length);
- this.Owner.Activate();
- downPos++;
- }
- }
- //查找编辑框的内容被改变
- private void txtFind_TextChanged(object sender, EventArgs e)
- {
- if (txtFind.Text== "")
- {
- bntAllRaplace.Enabled = false;
- bntReplace.Enabled = false;
- bntFindNext.Enabled = false;
- }
- else
- {
- bntAllRaplace.Enabled = true;
- bntReplace.Enabled = true;
- bntFindNext.Enabled = true;
- }
- downPos = 0; //内容改变,查找点归0
- }
- //是否区分大小写
- private void checkBox1_CheckedChanged(object sender, EventArgs e)
- {
- isCase = checkBox1.Checked;
- }
- //替换
- private void bntReplace_Click(object sender, EventArgs e)
- {
- if (downPos != -1 && downPos != 0)
- {
- mainText = mainText.Remove(downPos - 1, keyText.Length);
- mainText = mainText.Insert(downPos - 1, txtReplace.Text);
- ((MainForm)this.Owner).RichTxt.Text = mainText;
- }
- }
- //全部替换
- private void bntAllRaplace_Click(object sender, EventArgs e)
- {
- downPos = 0;
- mainText = ((MainForm)this.Owner).RichTxt.Text;
- keyText = txtFind.Text;
- if (!isCase) //不区分大小写
- {
- mainText = mainText.ToLower();
- keyText = keyText.ToLower();
- }
- bool firstFlag = true;
- while (true)
- {
- downPos = mainText.IndexOf(keyText, downPos);
- if (downPos < 0 && firstFlag)
- {
- MessageBox.Show("未找到-" + txtFind.Text);
- downPos = 0;
- break;
- }
- firstFlag = false;
- if (downPos >= 0)
- {
- mainText = mainText.Remove(downPos, keyText.Length);
- mainText = mainText.Insert(downPos, txtReplace.Text);
- downPos++;
- }
- else
- {
- ((MainForm)this.Owner).RichTxt.Text = mainText;
- break;
- }
- }
- }
- //窗体被关闭
- private void ReplaceForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- MainForm.fillReplaceKeyTxt = txtFind.Text; //保存上一次输入的内容
- MainForm.fillReplaceNewTxt = txtReplace.Text;
- }
- }
- }