STRING的REPLACE就是一个替换方法呀。

解决方案 »

  1.   

    例如主窗体“Form1”中有一“richTextBox1”,并通过“menuItem1_Click”调用“Form2” private void menuItem1_Click(object sender, System.EventArgs e)
    {
          try
    {
    if(F2.Visible)
    {
    F2.Activate ();
    }
    else
    {
    F2.Show ();
    }
    }
    catch(Exception ex)
    {
      MessageBox.Show( ex.Message,"出错",MessageBoxButtons.OK ,MessageBoxIcon.Error);
    }
    }其中“Form2”有textBox1、textBox2、button1、button2,分别为“查找下一个”、“替换为”的文本框及按钮。在这我需要的是,“button1_Click”“button2_Click”中的代码!!我试着用以下代码实现,问题是不能高亮度显示已找到的文本(因为“Form2”没被激活),还有就是不能查找下一个(总是停留在第一个实例)
    private void button1_Click(object sender, System.EventArgs e)
    {
        Form1 f1 = (Form1)this.Owner;
    f1.richTextBox1.Find(this.textBox1.Text);
    }
      

  2.   

    回答该问题将有200分!!还有100分在另一贴子上。只要搜索“请问“RichTextBox”中的查找与替换该如何实现”即可找到,然后随意回复一下就会把分送出。
      

  3.   

    下面的示例在 RichTextBox 的整个内容中搜索传递到此方法文本参数中的搜索字符串的第一个实例。搜索起始位置由此方法的起始参数指定。如果在 RichTextBox 中找到搜索字符串,则此方法返回找到文本的第一个字符的索引位置,并突出显示找到的文本;否则返回 -1 值。本示例还在搜索中指定匹配指定搜索字符串的大小写的选项。该示例假定此方法放置在 Form 的类中,并且该窗体包含一个名为 richTextBox1 的 RichTextBox。在找到搜索文本的第一个实例后,可以在执行“查找下一个”类型操作查找文本的其他实例时使用本示例。[Visual Basic, C#] 注意   此示例显示如何使用 Find 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
    [C#] 
    public int FindMyText(string text, int start)
    {
       // Initialize the return value to false by default.
       int returnValue = -1;   // Ensure that a search string has been specified and a valid start point.
       if (text.Length > 0 && start >= 0) 
       {
          // Obtain the location of the search string in richTextBox1.
          int indexToText = richTextBox1.Find(text, start, RichTextBoxFinds.MatchCase);
          // Determine whether the text was found in richTextBox1.
          if(indexToText >= 0)
          {
             returnValue = indexToText;
          }
       }   return returnValue;
    }
    ******************************************************************至于替换,直接用string.replace()方法应该可以
      

  4.   

    为什么我通过“Form2”进行查找,所找到的文本不能象VS。NET就那样在“”没有激活的情况下高亮度显示??而且string.replace()只能全部替换,不能一个接一个地换。
      

  5.   

    现在我用remove(),insert()解决了一个接一个地换,唯一搞不懂的是,怎样在不激活的情况下,高亮度显示所找到的文本。我是初学者,此贴已很久没人回复了,版主能帮忙解决吗?
      

  6.   

    提供 Microsoft VisualStudio.NET 7.0 企业级结构设计版  下载网址,速度非常快,没有线程限制,一旦连接上(线路比较忙),最高可达80kb/s(当然是我这的下载速度)。不过,我有一个小小的要求,请帮忙解决上述问题。我已经通过Remove()、Insert()解决了一个接一个换的问题,用Replace()方法完成全部替换。唯一不知道怎么样才能让找到文本突出显示。——就是说用Form2查找Form1中richTextBox1的文本,找到后的文本并不会突出显示,因为Form1并没有激活。谁能告诉我答案,既能得到200分,又可拿到七张盘的Microsoft VisualStudio.NET 7.0 企业级结构设计版 (ISO格式)
      

  7.   

    说白了,就是实现一个普通的查找功能,例如“IE”、“VS。NET”的查找等。它们都通过弹出一个窗口来查找。