首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

textbox查寻和替换

2012-07-04 
textbox查找和替换我想实现在textbox中实现查找和替换功能,在网上看了许多,自己写还是有问题。我的主窗体为

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已经存在的话,应该写成这样:

C# code
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;        ......} 

热点排行