`
coolszy
  • 浏览: 1407381 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

C#中TextBox实现换行

阅读更多

      要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true。
这个大家都知道,可是当你要在代码中为Text属性设置多行文本的时候可能会遇到点麻烦:)

你往往会想到直接付给一个含有换行符"\n"的字符串给Text属性:

aTextBox.Text = "First Line\nSecond Line\nThird Line";

 

      可是实际运行的时候你却发现它始终不会换行,显示的结果为"First LineSecond LineThirdLine"。

其实主要是因为TextBox运行在Windows上。Windows能够显示的换行必须由两个字符组成:carriage return & line feed,也就是必须是"\r\n"。如果只是"\n"在Windows中不能显示为换行的,这与Linux/Unix等其他的操作系统不一样。所以上边如果把"\n"替换成"\r\n"就可以了。

其实问题仍然没有很好的解决,因为用"\r\n"能够满足Windows的要求了,但是如果是其他平台怎么办?为了要确保让换行效果在各种平台上都能够正常的显示,请用Environment.NewLine。它可以确保在不同的平台下都能够返回正确的换行字符,在Windows下是\r\n,在Linux(Mono)下就应该是\n了。所以上面的代码应该写成:
    

     aTextBox.Text = "First Line" + 
     Environment.NewLine + "Second Line" + 
     Environment.NewLine + "Third Line";

 

    另外你也可以用verbatim string literal(用@开始的字符串)的形式来输入换行符:

aTextBox.Text = @"First Line 
Second Line
Third Line";

 

分享到:
评论
3 楼 mr_ginger 2009-09-07  
恩 不光是TextBox  所有的字符串换行都可以用
例如: StringBuilder sb =  new StringBuilder();

sb.append(strValue + Environment.NewLine);
2 楼 coolszy 2009-08-24  
未必吧
很难说的
1 楼 ray_linn 2009-08-24  
windows “\r\n", linux "\n"是个常识吧?

相关推荐

    C# TextBox 换行功能实现

    C# TextBox 换行功能实现

    在 TextBox 中自动换行(2KB)...

    文件处理 源代码 VB之文件处理精彩编程-在 TextBox 中自动换行(2KB)

    绝对经典 的自己写textbox 的控件

    自己做出来的一个TEXTBOX控件,感觉非常不错。自己认为很是经典。其中实现了TEXTBOX的透明背景,另外还在下面显示一条线。其它功能可以根据需求自己拓展

    C# 字符串多行显示/文本换行以textbox为例讲解

    方法1:以textbox为例 ①:先设置textbox的属性Multiline为true ②:组织好显示字符串:FistLine(第一行要显示的字符)、SecondLine(第二行要显示的字符)、。。。。。。。、第n行字符 ③textbox.text=”FistLine”+...

    PHP 存储文本换行实现方法

    \n LF或ASCII中的0x0A(10) \r CR或ASCII中的0x0D(13) \t 水平制表符-HT或ASCII中... 您可能感兴趣的文章:关于js中alert弹出窗口文本换行问题简单详细说明Asp.Net中文本换行C# 字符串多行显示/文本换行以textbox为例讲解

    C#编程经验技巧宝典

    58 <br>0081 文本中首字母改为大写 59 <br>0082 C#随机数的产生 59 <br>0083 身份证从15位升至18位算法 60 <br>0084 十进制数转二进制数的算法 60 <br>0085 十进制数转八进制数的算法 61...

    8X8光阵上位机源代码(串口类操作)

    一个用串口类写的8X8点阵上位机控制软件,用到了C#中:串口操作、跨线程操作UI、Graphics UI绘图、16进制与10进制或字符串之间的数据转换、TextBox自动换行操作、UI鼠标事件(拖动、选中、取消等)

    c# 加密和解密相关代码

    在第一个GroupBox 中放入3 个TextBox 控件和一个Button 按钮,分别用于输入数字、输入加密数字、显示加 密后的数字和计算加密信息;在第二个GroupBox 中放入一个TextBox 控件和一个Button 按钮,分别用于显示 解密后...

    C# for CSDN 乱七八糟的看不懂

    第6页 C#(WINFORM)学习 找到集合中数量最多的一个元素 利用方法来查找,可以返回两个变量。 object Jmax0(ArrayList v11,ref int jj) { int i; object j0=0; ArrayList y11=new ArrayList(); //各个不同的元素的...

    海康威视LED屏DS-TVL224文本语音二次开发代码

    编程语言:C# //语音播报 private void button2_Click(object sender, EventArgs e) { string err; Led led = new Led(textBox1.Text,Convert.ToUInt16(textBox2.Text)); led.led_speak(textBox4.Text,...

    DataGridView控件使用大全(转+中文对应)

    15. 如何让TextBox类型的单元格支持换行? 89 16. 如何使Image列不显示任何图像(字段值为null时)? 90 17. 如何能够在ComboBox类型的单元格中输入数据? 90 18. How do I have a combo box column display a sub set of...

    免费DataGridView打印及.NET轻松打印控件5.0版

    4、增加了直接打印Panel、GroupBox等容器控件中的内容的DrawPanel函数(对容器中的TextBox控件与Label控件以文本的形式打印,除此之外的其他除容器控件之外的控件如CheckBox、ComboBox、Button控件等则直接以图片的...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 ...

    ExtAspNet_v2.3.2_dll

    -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 ...

Global site tag (gtag.js) - Google Analytics