Как получить строки richtextbox? - PullRequest
0 голосов
/ 31 декабря 2011

Как получить строки richtextbox без отображения содержимого на нем, у меня есть такой код под кнопкой2

for (int i = 0; i < split.Length; i++)
  richTextBox2.Text* += split[i] + "\n";
  MessageBox.Show("Tamam!");`

, но для отображения содержимого в Richtext требуется слишком много времени, если я этого не сделалиспользуйте этот код выше, под button3 есть другой код, связанный с кодом выше

          foreach (string line in *richTextBox2.Lines*)

как мне решить эту проблему?

1 Ответ

0 голосов
/ 31 декабря 2011

Не зная, чего именно вы хотите достичь, но если обновление элемента управления занимает много времени, вы можете попытаться, прежде чем запустить цикл в buton2, прекратить рендеринг элемента управления. Не забудьте включить его снова.

Вроде так:

richtextBox2.SuspendLayout();
for (int i = 0; i < split.Length; i++)
{
  richTextBox2.Text* += split[i] + "\n";   
}
MessageBox.Show("Tamam!");
richtexbox2.ResumeLayout();

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.suspendlayout.aspx

Или сначала соберите строку с помощью строителя строк и назначьте:

var builder = new StringBuilder();
for (int i = 0; i < split.Length; i++)
{
  builder.Append(split[i]);
  builder.Append('\n');   
}
richTextBox2.Text = builder.ToString();

http://msdn.microsoft.com/en-us/library/y9sxk6fy.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...