-1

我正在使用 MS Visual Studio 2010 创建一个 Windows 窗体应用程序。问题是我需要在 GUI 上的文本框中打印超过 100 万行文本。我首先使用 StringBuilder 准备字符串,然后将其打印到文本框。由于行数太多,文本无法在文本框中显示,我只得到一个空白框。我知道字符串已经正确构建,因为我可以很好地将所有文本打印到文件中。

我想知道是否有人可以提出一种处理这种情况的方法?

我该怎么做才能在 GUI 上显示所有这些文本?

4

1 回答 1

3

这是一个糟糕的设计理念!从用户角度来看,他永远无法处理 100 万行文本。如果不是,请举这个例子:如果他每行花费 20 秒,他将需要大约 5555.55 小时来阅读所有内容,大约。3.5 年(考虑 8 小时/天,一年 200 天)。Imaginge 也是一个 100 万行的滚动条:在 800 像素高度,1 像素滚动条移动将滚动 1.250 行文本。现在,技术部分,如果你把 1.000.000 行放在一个文本框中,如果你认为平均每行有 40 个字符(在 ASCII 中大约是 40.000.000,在 UTF-16 中大约是 80.000.000),粗略地说在最好的情况下,大约40 GB的内存仅用于字符串。

总体思路:不要那样做!

如果您的用户需要在这百万条记录中导航,请考虑一些带有分页和过滤的网格界面。

于 2013-07-15T13:11:33.023 回答