C#换行符号显示错误问题的解决方法

笔者在日常编程工作中,遇到C#换行符号无法正常显示的问题,究其原因,很可能是在保存TextBox和RichTextBox中的文本数据的时候,经常会保存无效字符。所以有了以下的解决方法。

C#换行符号的问题

C#中,一个label的text属性在程序中硬编码成"aa\nbb"的字样时,显示的效果是可以换行的,但这个字符串放到资源文件中,再从程序中load时,显示时就把\n也给显示出来了。该怎么解决?  

C#换行符号问题的解决办法

使用Environment.NewLine

比如

 
 
 
  1. textBox1.Text="First Line" + Environment.NewLine + "Second Line";  
  2. http://www.geekpedia.com/KB19_How-can-I-insert-a-new-line-in-a-TextBox.html 

另外,由于在保存TextBox和RichTextBox中的文本数据的时候,经常会保存无效字符,

可以用以下代码来替代WriteLine。

 
 
 
  1. FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate,FileAccess.ReadWrite);   
  2. StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);   
  3. sw.Write(txtReturn.Text.Replace("\n",Environment.NewLine)); // Environment.NewLine is the real trick   
  4. sw.Dispose(); sw = null;   
  5. fs.Dispose(); fs = null

备注

对于非 Unix 平台,NewLine 包含“\r\n”的字符串;对于 Unix 平台,包含“\n”的字符串。

NewLine 的属性值是一个专门为当前平台和 .NET Framework 实现而自定义的常数。

NewLine 提供的功能常常是换行符 (newline)、换行符 (line feed)、分行符、回车符、CRLF 和行尾等术语表示的含义。

NewLine 可以与语言特定的换行支持一起使用,如 Microsoft C# 和 C/C++ 中的“\r”和“\n”,或 Microsoft Visual Basic 中的 vbCrLf。

NewLine 自动附加到 System.Console.WriteLine 和 System.Text.StringBuilder.AppendLine 方法处理的文本。

【编辑推荐】

  1. C# this关键字详解
  2. C#调用析构方法详解
  3. C#释放托管资源简单描述
  4. C#单路代理简单分析
  5. C#文法产生式概述

分享题目:C#换行符号显示错误问题的解决方法
链接地址:http://www.shufengxianlan.com/qtweb/news11/315111.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联