Замена на выделенный текст работает только один раз - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь сделать замены для выделенного текста в richtextbox.

Он работает нормально, но делает это только один раз.

Если я хочу сделать несколько замен, что я должен делать, потому чтоЯ не могу сохранить выбранный текст после того, как он был изменен один раз?

Я попробовал базовую команду повтора тем же методом.

Это работает:

richTextBox1.SelectedText = richTextBox1.SelectedText.Replace("A", "B");

В этот момент richTextBox1.SelectedText = "" и перестает работать на линиикода прямо ниже тем же способом:

richTextBox1.SelectedText = richTextBox1.SelectedText.Replace("C", "D");

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Хотите ли вы связать замены (замените A на B и C на D, наконец, присвойте результат обратно richTextBox1)?

richTextBox1.SelectedText = richTextBox1.SelectedText
  .Replace("A", "B")
  .Replace("C", "D");
0 голосов
/ 13 февраля 2019

Когда вы делаете первую замену, вторая не будет работать, потому что вы сохраняете в той же «позиции» ..

richTextBox1.SelectedText = richTextBox1.SelectedText.Replace("C", "D");

Сохраните это в строку, подобную этой:

string replaced = richTextBox1.SelectedText.Replace("A", "B");

string replaced2 = richTextBox1.SelectedText.Replace("C", "D");
...