飘遥的Blog

C/C++/.NET
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Winform 中 TextBox 换行问题解析

Posted on 2008-03-06 02:56  Zzx飘遥  阅读(6126)  评论(0编辑  收藏  举报
    winform 中 TextBox 的 Multiline属性设置为 true ,敲入几个字符和几个回车,然后保存到数据库,再从数据库中读取出来赋值给TextBox,换行符丢失。以前遇到这问题,没太在意,只是将读取出的字符串中的"\n"替换为"\r\n"解决问题。

    今天又遇到这个问题,简单试验了一下找出了其中的原因。

  · TextBox 中换行符为: "\r\n"。
  · Windows 中的换行符(即:Environment.NewLine) 为 "\r\n"
  · MessageBox.Show() 的换行符为 "\n"
  · Console 的换行符为 "\n"

从数据库中读取出来后,换行符不知为啥变成 "\n","\r" 莫名的丢失了。为正确显示格式要将 "\n" 替换为 "\r\n"

换行符还因平台而已,Unix/Linux 平台换行符是 "\n"。
为保持平台的通用性,最好用 Environment.NewLine。