Пишу приложение в котором необходимо в RichTextBox выводить текст в разном форматировании. На первой строке к примеру красные буквы привязанные к левому краю, а на второй зеленые буквы привязанные к правому краю. И затем так далее. Я написал такой код:
int Th()
{
string say = "bla bla bla";
Dialogbox.Text += say + Environment.NewLine;
int my1stPosition = Dialogbox.Text.Length - say.Length-1;
Dialogbox.SelectionStart = my1stPosition;
Dialogbox.SelectionLength = say.Length;
Dialogbox.SelectionColor = Color.Green;
Dialogbox.SelectionAlignment = HorizontalAlignment.Right;
}
private void button1_Click(object sender, EventArgs e)
{
string say = message.Text;
if (say != "")
{
Dialogbox.Text += say + Environment.NewLine;
int my1stPosition = Dialogbox.Text.Length - say.Length - 1;
Dialogbox.SelectionStart = my1stPosition;
Dialogbox.SelectionLength = say.Length;
Dialogbox.SelectionColor = Color.Red;
Dialogbox.SelectionAlignment = HorizontalAlignment.Left;
message.Text = "";
Th();
}
Кнопка берет данные с текстбокса и запихивает его в RTB попутно обрабатывая. Затем вызывается функция ответа, которая пишет строчку и обрабатывает уже ее. Вопрос: почему в результате после второго, третьего и т.д. ввода данных предыдущий текст становится красным и привязанным к левому краю?