笔者在日常编程工作中,遇到C#换行符号无法正常显示的问题,究其原因,很可能是在保存TextBox和RichTextBox中的文本数据的时候,经常会保存无效字符。所以有了以下的解决方法。
C#换行符号的问题
C#中,一个label的text属性在程序中硬编码成"aa\nbb"的字样时,显示的效果是可以换行的,但这个字符串放到资源文件中,再从程序中load时,显示时就把\n也给显示出来了。该怎么解决?
C#换行符号问题的解决办法
使用Environment.NewLine
比如
- textBox1.Text="First Line" + Environment.NewLine + "Second Line";
- http://www.geekpedia.com/KB19_How-can-I-insert-a-new-line-in-a-TextBox.html
另外,由于在保存TextBox和RichTextBox中的文本数据的时候,经常会保存无效字符,
可以用以下代码来替代WriteLine。
- FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate,FileAccess.ReadWrite);
- StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
- sw.Write(txtReturn.Text.Replace("\n",Environment.NewLine)); // Environment.NewLine is the real trick
- sw.Dispose(); sw = null;
- 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 方法处理的文本。
【编辑推荐】
分享题目:C#换行符号显示错误问题的解决方法
链接地址:http://www.shufengxianlan.com/qtweb/news11/315111.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联