1

我有一个用 C# 和 .Net 2.0 构建的 Winform 应用程序。我有一个带有 MultiLine 属性的文本框。

问题是当有人写多行文本(按几个输入),按保存按钮,然后关闭并再次加载表单时,所有新行都消失了(文本至少在那里)。

例如,如果文本框里面有这个:

Line1

Line3

保存并加载后它看起来像这样:

Line1 Line3

知道为什么吗?

更新

数据库是 PostGres,当我使用 PGAdmin 时,我可以看到所有行和“输入”。所以持久性似乎已经保存了所有行......问题似乎出在我将字符串放回文本框中时。

4

2 回答 2

3

如果我没记错的话,文本框实际上是一个字符串数组。

我认为你可以这样做:

textBox1.Lines = foo.Split(new String[] {"\n"},StringSplitOptions.RemoveEmptyEntries);

再次编辑:如果要保留空白行,请更改为 StringSplitOptions.None

于 2008-10-09T19:33:23.777 回答
0

在 Windows 窗体中,所有回车都保存在多行文本框中,因此问题可能出在从数据库中检索数据的方式上。我从未使用过 PostGres,但我猜测您从数据库中检索文本的方式是用单个空格替换所有空格。

于 2008-10-09T20:22:36.530 回答