2009-12-18 68 views
0

使用Winforms向用戶顯示大文本文件內容的最佳方式是什麼?現在我已經嘗試了一個多行文本框,但是對於一個2MB的文件來說這是相當慢的。顯示大文件內容的Winforms

回答

0

取決於什麼類型的數據。

對於純文本文件,您幾乎找不到像TextBox或RichtTextBox更好的東西。

1

嗯。有趣。實驗的時間。

我用一個從我的硬盤加載一個50k行文本文件到一個列表中的按鈕掀起了一個.Net winforms項目。這部分幾乎是一個StreamReader的瞬間。

載入中我的標準運行的最微軟磨多文本框的線條發生相當迅速:

var lines = new List<string>(); 
using (var sr = new StreamReader(@"C:\temp\lotsoftext.txt")) 
{ 
    while (!sr.EndOfStream) lines.Add(sr.ReadLine()); 
} 
TextBox.Lines = lines.ToArray(); 

我沒火候,但花了最多一秒鐘。

當我試圖在富文本框中做同樣的事情時,系統凍結了我。它確實將文本放在RichTextbox中,但我在等待它時留下了鬍子。我的未受教育的猜測是,所有這些時間都花在解析標記的輸入上,所以使用純文本格式的純文本將是最好的。

+0

我的文件有127000行。加載文本框需要10秒。 – rocket 2009-12-18 13:06:06

0

聽起來像你可能想考慮編寫自己的自定義控件來做這件事 - 然後你可以「優化」一些慢的原因(例如,你可能知道行不應該包裝,將簡化用於制定滾動條比例的算法)