如何将大文本加载到textview中

时间:2013-03-28 21:12:18

标签: c# gtk

我正在加载一个大文本(10万多行文本),textview显示它需要很长时间。我知道加载这么多文本很难,但是至少有一种方法可以在加载所有文本之前禁用textview控件,这样用户就可以滚动它,或者在它期间进行修改#39 ; s被加载到textview?

我更喜欢灰色(敏感=假)它并显示"正在加载"适合加载文本的时间。或者如果它可能,只需加载它立即加载它(例如只渲染部分文本)

我现在使用的代码非常简单,庞大的文本在StringBuilder中

第一个变种:

// everything is StringBuilder
simpleview.Buffer.Text = everything.ToString();
if (ScrollingEnabled)
{
    simpleview.ScrollToIter(simpleview.Buffer.GetIterAtLine(ContentLines.Count), 0, true, 0, 0);
}

第二个(它在我看来更快)

            simpleview.Buffer.Text = "";
            simpleview.Buffer.InsertAtCursor(everything.ToString());
            if (ScrollingEnabled)
            {
                simpleview.ScrollToIter(simpleview.Buffer.GetIterAtLine(ContentLines.Count), 0, true, 0, 0);
            }

我不需要一次显示所有文字,但我希望用户可以滚动浏览所有文字,如果可能的话。另外我想要注意的是,对于10万行来说,这不仅速度慢,即使对于1000行,它实际上也非常慢,而且文本很短......

0 个答案:

没有答案