我有一个使用C#和.Net 2.0构建的Winform应用程序。我有一个带有MultiLine属性的文本框。
问题是当有人用多行写入文本时(按几次输入),按下保存按钮,然后关闭并再次加载表单,所有新行都消失(文本至少存在)。
例如,如果文本框中包含此内容:
Line1
Line3
保存并加载后,它将如下所示:
Line1 Line3
知道为什么吗?
更新
数据库是PostGres,当我使用PGAdmin时,我可以看到所有的行和“进入”。所以持久性似乎已经保存了所有的行...当我把字符串放回文本框时,问题似乎就出现了。
答案 0 :(得分:3)
如果我没记错的话,文本框实际上是一个字符串数组。
我认为你可以这样做:
textBox1.Lines = foo.Split(new String[] {"\n"},StringSplitOptions.RemoveEmptyEntries);
再次编辑:如果要保留空行,则更改为StringSplitOptions.None
答案 1 :(得分:0)
在Windows窗体中,所有回车都保留在多行文本框中,因此问题可能在于从数据库中检索数据的方式。我从来没有使用PostGres,但我猜你从db中检索文本的方式是用单个空格替换所有空格。