textbox查找和替换
我想实现在 textbox中实现查找和替换功能,在网上看了许多,自己写还是有问题。
我的主窗体为 Form7 我在 查找窗体 上的“查找”按钮的 Click 事件程序为:
[code=C#][/code] private void button1_Click(object sender, EventArgs e)
{
string sr1 = this.textBox1.Text;
Form7 form7 = new Form7();
string sr2 = form7.txt1.Text;
int currpos = form7.txt1.SelectionStart;
int startIndex = sr2.IndexOf(sr1,currpos);
if (startIndex == -1)
{
MessageBox.Show("没有");
}
if(startIndex >= 0 && startIndex < sr2.Length)
{
form7.txt1.Select(startIndex ,sr1.Length) ;
form7.txt1.Focus() ;
startIndex += sr1.Length ;
}
}
但是在 Form7中每次查找时 startIndex=-1 不知道为什么?
[解决办法]
form7 你在button的click事件里面new出来还没show呢,哪来的值?除非你是在 Form7的构造函数里把值写死的。
如果你的意思是点击按钮之前Form7已经存在的话,应该写成这样:
TextBoxTest form7 = null;foreach(Form f in Application.OpenForms){ if (f is TextBoxTest) { form7 = (TextBoxTest)f; break; }}if (form7 != null){ string sr1 = this.textBox1.Text; string sr2 = form7.txt1.Text; ......}