none
网上找到的记事本替换按钮的源代码,请给注释一下吧。 RRS feed

  • 问题

  • 下面这段代码是记事本中“替换”按钮的源代码。刚找到的还看不懂,请给注释一下吧。谢谢。

    private void button3_Click(object sender, System.EventArgs e)
      {
       i=0;                                                    
       if (checkBox1.Checked == false)
       {
        while ( i < f1.richText.TextLength)
        {
         RichTextBoxFinds rbf = RichTextBoxFinds.None;
         f1.richText.Focus();
         i=f1.richText.Find(textBox1.Text,i,f1.richText.TextLength,rbf);
         if (i<0){break;}
         f1.richText.SelectedText = this.textBox2.Text;
         i=i+1;
        }
        this.TopMost = false;
        MessageBox.Show("文本以全部替换完毕","提示!",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
        this.TopMost = true;
        f1.richText.Focus();
       }
       else
       {
        while ( i < f1.richText.TextLength)
        {
         RichTextBoxFinds rbf = RichTextBoxFinds.MatchCase;
         f1.richText.Focus();
         i=f1.richText.Find(textBox1.Text,i,f1.richText.TextLength,rbf);
         if (i<0){break;}
         f1.richText.SelectedText = this.textBox2.Text;
         i=i+1;
        }
        this.TopMost = false;
        MessageBox.Show("文本以全部替换完毕","提示!",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
        this.TopMost = true;
        f1.richText.Focus();
       }
      

    2011年2月12日 8:59

答案

  • 注意几个关键位置代码即可

    1.if (checkBox1.Checked == false)//大小写开关
    2.while ( i < f1.richText.TextLength)//检查搜索的范围
    3. i=f1.richText.Find(textBox1.Text,i,f1.richText.TextLength,rbf);//找到搜索位置起始点最近的一个匹配内容
    4.f1.richText.SelectedText = this.textBox2.Text;//执行替换。

     


    family as water
    2011年2月12日 13:05