零七广告
笔者在日常编程工作中,遇到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 方法处理的文本。
零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。
零七广告