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();
}
}
}