如何知道富文本框中的文本ix是否被替换



这是我使用的代码:

Richtextbox.Text = Richtextbox.Text.Replace(ReplaceOldWord, ReplaceNewWord);

我怎么知道旧单词是否被新单词替换....

第一手的方法是检查文本是否更改:

    String text = Richtextbox.Text.Replace(ReplaceOldWord, ReplaceNewWord);
    if(RichTextBox.Text != text)
    {
        Richtextbox.Text = text;
        DoSomething();
    }

第二种是使用 TextChanged 事件。仅当富文本框文本更改时,此事件才会重新出现。

public Form()
{
    InitializeComponent();
    RichTextBox.TextChanged += Richtextbox_TextChanged;
}
private void Richtextbox_TextChanged(object sender, EventArgs e)
{
    DoSomething();
}

我不确定这一点,但如果你有一个文本框,我说服你有 GUI,只需尝试在那里打印单词或使用streamwriter将单词保存在文本文件中。

如果在替换之前调用String.Contains - 如果它返回 true 旧单词,如您的富文本框:

var replaced = Richtextbox.Text.Contains(ReplaceOldWord);

您可以按如下方式编写代码:

richTextBox1.Text = richTextBox1.Text.Replace("old", "new");
if (richTextBox1.Text.Contains("old"))
{
  MessageBox.Show("Not replaced");
  //further actions
}

最新更新