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

开发 后端
本文将介绍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#文法产生式概述
责任编辑:彭凡 来源: CSDN
相关推荐

2009-09-02 14:47:44

C#换行符

2009-09-15 17:46:08

C#绑定句柄无效

2010-06-17 10:32:13

开机显示Grub

2011-04-25 15:15:00

C#

2009-09-03 15:50:20

C#回车换行符

2009-09-15 15:14:27

C# 绑定

2021-05-11 22:24:56

C++符号Tab

2009-09-10 09:10:17

C# TextBox换

2009-08-13 10:40:15

C#读取Excel

2009-08-20 18:13:17

C#中Access数据

2009-08-13 17:25:18

C# Convert类

2010-03-29 17:46:39

Nginx asp

2010-10-19 10:25:29

SQL Server连

2011-05-16 09:54:22

mysql1067错误

2012-08-15 14:01:18

2009-09-10 09:35:25

Linq语句

2009-08-06 10:35:27

C# lock thi

2010-03-05 13:48:50

Visual Stud

2009-06-17 15:33:50

java heap s

2011-09-19 19:21:54

linux
点赞
收藏

51CTO技术栈公众号