0

这是我使用的代码:

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

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

4

4 回答 4

2

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

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

第二种是使用TextChanged Event。仅当富文本框文本更改时才会触发此事件。

public Form()
{
    InitializeComponent();
    RichTextBox.TextChanged += Richtextbox_TextChanged;
}

private void Richtextbox_TextChanged(object sender, EventArgs e)
{
    DoSomething();
}
于 2012-10-03T06:33:57.660 回答
1

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

于 2012-10-03T06:29:16.647 回答
1

如果会String.Contains在您的替换之前调用 - 如果它返回 true 旧单词,如您的 RichTextBox 中的:

var replaced = Richtextbox.Text.Contains(ReplaceOldWord);
于 2012-10-03T06:29:28.877 回答
1

你可以这样写代码:

richTextBox1.Text = richTextBox1.Text.Replace("old", "new");
if (richTextBox1.Text.Contains("old"))
{
  MessageBox.Show("Not replaced");
  //further actions
}
于 2012-10-03T06:50:47.993 回答