Aidanriley3 Ответов: 1

Как я могу обновить существующий текст элемента richtextbox без перезаписи существующего текста с#


В настоящее время я разрабатываю и создаю приложение windows forms в visual studio 2015, которое включает в себя использование richtextbox для отслеживания статуса пользователей, как в том, какие функции были задействованы/отключены, так и в общих приложениях, подобных этому, однако, когда я когда-либо пытаюсь добавить текст в текстовое поле программно с помощью :

Пример:
richTextBox1.Text = Environment.NewLine + "";

в связи с характером моей цели приложения я требую, чтобы текст обновлялся из нескольких источников (кнопок) по всему приложению без удаления существующего контента
Кнопка 1 :
<pre lang="c#"> 
IP = flatTextBox1.Text;
richTextBox1.Text = "Action";

Кнопка 2:
<pre lang="c#">
richTextBox1.Text = Environment.NewLine + "Action";

Кнопка 3:
<pre lang="c#">
richTextBox1.Text = Environment.NewLine + "Action";

любая помощь будет оценена по достоинству

Что я уже пробовал:

Кнопка 1 :
richTextBox1.Text = Environment.NewLine + "yo";


Кнопка 2 :
flatTexrichTextBox1tBox2.Text = Environment.NewLine + "Your Target IP Has Been Set To : " + IP;


но он продолжает его переписывать

1 Ответов

Рейтинг:
5

CHill60

Он переписывает его, потому что вы говорите ему!
Самый простой способ-это использовать

richTextBox1.Text += Environment.NewLine + "Action";
но это не очень хорошее решение - новая строка будет создаваться каждый раз, потому что строки неизменяемы (не могут быть изменены).
Лучшим решением было бы использовать StringBuilder например
StringBuilder sb = new StringBuilder(richTextBox1.Text);
sb.Append(Environment.NewLine);
sb.Append("Action");
richTextBox1.Text = sb.ToString();


Aidanriley3

Спасибо, приятель, это сработало как заклинание, я совершенно забыл о строителях струн

CHill60

С удовольствием