`
coolszy
  • 浏览: 1412374 次
  • 性别: 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 换行功能实现是指在 Windows Form 应用程序中,让 TextBox 控件能够正确地显示多行文本。要实现这个功能,需要将 TextBox 控件的 Multiline 属性设置为 true。然而,在代码中设置多行文本时,可能会遇到...

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

    在VB(Visual Basic)编程中,TextBox...通过打开并分析这个文件,我们可以深入理解如何在实际项目中实现TextBox的自动换行和文件处理功能。学习和掌握这些知识点对于开发涉及用户输入和文件交互的VB应用程序至关重要。

    C# VB文本框textbox根据字符串自动调整高度

    在.NET Framework中,C#和VB.NET都是常用的编程语言,用于开发Windows桌面应用程序。在这些应用中,文本框(TextBox)是用户界面中常见的控件,用于接收和显示文本输入。有时,我们希望文本框能根据其中的字符串长度...

    C#TextBox控件的输入控制

    - `AcceptsReturn`属性:决定是否允许用户在TextBox中按回车键换行。 - `AcceptsTab`属性:设置是否允许用户在TextBox中按Tab键插入制表符。 6. **密码框与隐藏输入** `PasswordChar`属性可以用来创建密码输入框...

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

    总结,这个“绝对经典”的自定义TextBox控件是C# WinForm开发中的一个实例,它展示了如何通过继承和重写控件的方法来实现独特的UI效果。透明背景增加了控件的视觉透明感,而下划线则提供了设计上的点缀,两者结合...

    C#实现回车光标自动跳到下一个控件的几种方法

    本篇文章将深入探讨如何在C#中实现这种功能,主要涉及以下知识点: 1. **事件处理**:在C#中,事件是对象之间通信的一种方式,当特定条件满足或动作发生时,事件会被触发。例如,当用户按下回车键时,会触发TextBox...

    C#重写Winform的Textbox单行模式下滚动条。

    在这个项目中,你可以找到一个实现上述功能的例子,通过编译和运行,可以看到自定义TextBox控件的效果。 总的来说,重写Winform的TextBox控件需要对控件的生命周期、消息处理和绘图机制有深入理解。通过这种方式,...

    textbox的长度随着内容而改变

    在.NET框架中,尤其是使用C#进行Windows应用程序开发时,我们经常会遇到文本框(TextBox)控件的使用。"textbox的长度随着内容而改变"这个主题涉及到文本框的自动调整大小功能,它允许文本框根据输入的内容动态扩展...

    XML格式化(换行,缩进)

    ### C#中的XML格式化实现 在C#中,利用System.Xml命名空间下的类和方法,我们可以轻松地实现XML文档的格式化。具体而言,通过创建一个XmlDocument对象并加载XML字符串,然后使用XmlTextWriter进行写入操作,并设置...

    C# 跑马灯 C#滚动文字

    本文将深入探讨如何在C#中实现跑马灯效果,特别是滚动文字的实现。 首先,我们需要了解C#中实现滚动文字的基本元素。这通常涉及到Windows Forms或WPF框架中的控件。在Windows Forms中,我们可以使用`Label`控件配合...

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

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

    文字的拖放,设置TextBox控件支持拖放操作,MouseDown,DragEnter,DragDrop的用法,C#源代码

    在Windows应用程序开发中,尤其是使用.NET Framework的C#语言时,常常需要实现用户界面的交互功能,例如拖放操作。本教程将详细讲解如何使TextBox控件支持文字的拖放功能,以及涉及到的关键事件:MouseDown、...

    C#禁止textbox复制、粘贴、剪切及鼠标右键的方法

    本文实例讲述了C#禁止textbox复制、粘贴、剪切及鼠标右键的方法。分享给大家供大家参考。具体如下: class MyTextBox : System.Windows.Forms.TextBox { protected override void WndProc(ref System.Windows....

    c# TextBox控件

    在C#编程中,TextBox控件是Windows Forms和WPF应用程序中非常常见的一种元素,用于接收用户输入的文本。TextBox控件提供了丰富的功能,允许用户进行单行或多行文本输入,支持格式化文本,以及执行搜索、替换等操作。...

    C# RichTextbox设置行间距

    在C#编程中,`RichTextBox`控件是Windows Forms应用程序中常见的文本编辑组件,用于显示和编辑富文本格式的数据。它提供了丰富的文本格式化功能,如字体样式、颜色、大小以及对齐方式等。然而,`RichTextBox`默认并...

    C#实现记事本功能

    在本文中,我们将深入探讨如何使用C#编程语言来实现一个基本的记事本功能。C#是一种由微软开发的面向对象的编程语言,广泛应用于Windows应用程序开发,包括桌面应用和移动应用。记事本是操作系统中最基础的文字编辑...

    c#带行号的richtextbox控件

    在.NET Framework中,C#是一种常用的编程语言,用于开发各种应用程序,包括Windows桌面应用。`RichTextBox`控件是Windows Forms库中的一个组件,它允许程序员创建文本编辑器,支持丰富的文本格式,如字体、颜色、...

    ASP.NET Lable中进行换行解决方案

    在***开发中,如何在Label控件中实现文本的换行是一个常见的问题,尤其是在处理用户输入的多行文本时。在Web页面上,浏览器默认不识别"\r\n"这样的换行符,因此需要特殊的处理才能显示正确的换行效果。下面将详细...

    c#记事本 实现了window记事本绝大多数功能。

    - 自动换行和多文档支持也是记事本的常见特性,可以使用`TextBox`的`WordWrap`属性控制自动换行,而多文档则可以通过`TabControl`控件实现。 7. **错误处理**: - 在整个程序中,应该加入适当的错误处理代码,...

Global site tag (gtag.js) - Google Analytics