2011-12-31 42 views
-1

如何獲得RichTextBox的行不顯示內容就可以了,我有這樣的代碼BUTTON2下如何獲取richtextbox行?

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

但它需要太多的時間,以顯示富文本的內容,如果我不使用此代碼以上,在button3下面有另一個代碼,與上面的代碼有關

  foreach (string line in *richTextBox2.Lines*) 

我應該怎麼做才能解決這個問題?

+0

當你在循環的全部文本它需要時間來顯示你所需要的。當你需要的文本或行被捕獲時打破循環 – Dotnet 2011-12-31 05:48:19

+0

在你想達到的目標之間沒有說 – Dotnet 2011-12-31 05:49:41

回答

0

不知道你到底想要達到什麼目的,但是如果控件的更新需要很多時間,你可以嘗試在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

或者積累你的字符串與StringBuilder的第一和分配:

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

相關問題