我如何替换文本在RichTextBox形式的另一种形式

本文关键字:RichTextBox 另一种 文本 何替换 替换 | 更新日期: 2023-09-27 18:13:53

所以我有一个名为richTextBox1的RichTextBox,在一个名为XMLEditor的表单中,我希望能够用我想要的任何东西在富文本框的所有部分中重命名任何选择的单词。(类似于在记事本中查找和替换)。

但我想使用另一种形式称为Find(它看起来像查找&替换在记事本中)具有将替换XMLEditor中的richTextBox1中的单词的功能。

名为Find的表单有2个文本框和1个按钮。第一个名为textBox1的文本框将用于选择要替换的文本,而textBox3将用于替换文本。按钮button3将在单击时替换文本。

如何从另一种形式替换RichTextBox中的文本?我怎么用这些表格来做呢?

void button3_Click(object sender, EventArgs e)
{
    XMLEditor xmle = new XMLEditor();
    xmle.richTextBox1.Text = xmle.richTextBox1.Text.Replace(textBox1.Text, textBox3.Text);
}

我如何替换文本在RichTextBox形式的另一种形式

您可以做的一件事是在构造Find时将XMLEditor表单作为参数传递,并具有可用于交互的公共XMLEditor方法。

interface IFindAndReplace {
    void Replace(String s);
}
public class XMLEditor : IFindAndReplace {
    ...
    public void ShowFindAndReplaceForm() {
        Find findForm = new Find(this);
    }
    public void Replace(String s) {
        //Replace method here
    }
}
public class Find {
    IFindAndReplace parent;
    public Find(IFindAndReplace parent) {
        this.parent = parent;
    }
    public Replace(String s) {
        parent.Replace(s);
        //this will call Replace on the parent form.
    }
}

编辑使用接口:)