-2

我希望用 VS C# 构建一个 GUI。此 GUI 将持续显示(大量)更新的文本,您可以滚动查看这些文本。我会使用什么容器?我将如何减轻在努力中消耗过多内存的情况?什么策略最好做到这一点?

我的目标: 在我的 UI 上创建一个面板,显示我的应用程序正在处理的所有文本信息。

就像在 unix shell 中使用详细命令启动程序一样。

GUI 类型: Windows 窗体

更新间隔:随机 - 虽然更新每分钟发生多次

所有更新都将累积并在面板上可见(这就是我所说的大量)。这将在正在运行的应用程序的生命周期内增长。

4

2 回答 2

1

每当我必须显示越来越多的文本(一行一行地出现)时,我都会使用任何类型的列表而不是文本容器。每次操作都会复制字符串,因此性能很糟糕。

在列表(即 ListBox)上,您可以在开头或结尾插入新项目。

如果您想将整个文本作为一个文本,您可以在导出时连接文本,这比更新内容的频率要低。

于 2013-03-07T15:04:10.360 回答
1

如果您要附加到内容,那么您想使用类似 a 的东西DataGridView,它允许您附加到可变集合。a的Text属性TextBox包含一个不可变的字符串,因此附加到它通常是低效的,因为它需要在 GC 之前构造一个新的字符串对象。

于 2013-03-07T14:50:41.463 回答