Substituir todo o texto em uma caixa de rich text
Eu tenho um problema ao tentar substituir todo o texto que corresponde a uma determinada palavra em umrich text box
. Este é o código que eu uso
public static void ReplaceAll(RichTextBox myRtb, string word, string replacer)
{
int index = 0;
while (index < myRtb.Text.LastIndexOf(word))
{
int location = myRtb.Find(word, index, RichTextBoxFinds.None);
myRtb.Select(location, word.Length);
myRtb.SelectedText = replacer;
index++;
}
MessageBox.Show(index.ToString());
}
private void btnReplaceAll_Click(object sender, EventArgs e)
{
Form1 text = (Form1)Application.OpenForms["Form1"];
ReplaceAll(text.Current, txtFind2.Text, txtReplace.Text);
}
Isso funciona bem, mas tenho notado um pequeno defeito quando tento substituir uma carta consigo mesma e outra letra.
Por exemplo, eu quero substituir todo oe
emWelcome to Nigeria
comea
.
Isso é o que eu receboWeaalcomeaaaaaaa to Nigeaaaaaaaaaaaaaaria
.
E a caixa de mensagem mostra23
quando há apenas trêse
. Pls o que estou fazendo de errado e como posso corrigi-lo