记事本(查找与替换)

namespace 查找

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        private void button1_Click(object sender, EventArgs e)//查找

        {

            find f = new find(this); //将记事本窗体扔进去

            f.Show();//将窗体显示出来

        }

    }

}
namespace 查找

{

    public partial class find : Form

    {

        public find()

        {

            InitializeComponent();

        }

        private Form1 fuform;  //创建一个Form1类型的变量fuform用来接收 jishiben那个窗体

        public find(Form1 jishiben) //通过创建构造函数来实现查找窗体控制记事本窗体的内容

        {

            InitializeComponent();

            fuform = jishiben; //将扔进来的jishiben给这个变量



        }

      

        private int count; //定义这个变量是为了判断是第几次查找,如果是第一次查找count就为0;

        private void button1_Click(object sender, EventArgs e)

        {

            string cztxt = textchazhao.Text; //这个变量是查找框里的文本内容

            if (count == 0) //如果是第一次查找

            {

                int index = fuform.textBox1.Text.IndexOf(cztxt); //index代表的是查找框内容在记事本文本框中的索引 

                if(index!=-1)  //如果查到最后了 即便不能查了

                {

                    fuform.textBox1.Select(index,cztxt.Length);  //从索引开始,选中查找框里内容的长度

                    count = index + 1;//将count+1 是为了执行else, 即再点查找便不是第一次查找了,而是查找下一个

                    fuform.textBox1.Focus(); //将焦点返回记事本的文本框

                }

            }

            else

            {

                int index = fuform.textBox1.Text.IndexOf(cztxt,count);  //加上count是为了屏蔽掉之前已经查了的, index(x,y)

                {                                                       //的意思是从y开始查找x

                    fuform.textBox1.Select(index, cztxt.Length);

                    count = index + 1;

                    fuform.textBox1.Focus();

                }

            }

        }      

    }

}
private void button1_Click(object sender, EventArgs e)//替换

        {

            find f = new find(this); //将记事本窗体扔进去

            f.Show();//将窗体显示出来

        }

 
private void button2_Click(object sender, EventArgs e) //替换

        {

            string cztxt = textchazhao.Text;  //查找栏的文本

            string thtxt = texttihuan.Text; //替换栏的文本

            if (count == 0)

            {

                int index = fuform.textBox1.Text.IndexOf(cztxt);

                //MessageBox.Show(index.ToString());

                if (index != -1)

                {

                    fuform.textBox1.Select(index, cztxt.Length);

                    count = index + 1;

                    fuform.textBox1.SelectedText = thtxt;

                    fuform.textBox1.Focus();

                }

            }

            else

            {

                int index = fuform.textBox1.Text.IndexOf(cztxt);

                //MessageBox.Show(index.ToString()); //显示索引是多少

                if (index != -1)

                {

                    fuform.textBox1.Select(index, cztxt.Length);

                    count = index + 1;

                    fuform.textBox1.SelectedText = thtxt; //将选中的文本变成替换栏的文本

                    fuform.textBox1.Focus();

                }

            }

        }

 

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