C#在WinForm中怎样让多行TEXTBOX的换行

要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true。  要让TextBox里面的文本换行大家往往会想到直接在要换行的地方加个转义的换行符"\n":

[csharp] view plaincopyprint?

  1. this.textBoxDescription.Text = "操作说明\nESC\t最小化\nALT+F4\t退出\nShift+F6\t设置访问地址";
this.textBoxDescription.Text = "操作说明\nESC\t最小化\nALT+F4\t退出\nShift+F6\t设置访问地址";

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

[csharp] view plaincopyprint?

  1. 操作说明ESC 最小化ALT+F4 退出Shift+F6 设置访问地址
操作说明ESC 最小化ALT+F4 退出Shift+F6 设置访问地址

其实主要是因为TextBox运行在Windows上。Windows能够显示的换行必须由两个字符组成:carriage return & line feed,也就是必须是"\r\n"。所以如果把"\n"替换成"\r\n"就可以了。

[csharp] view plaincopyprint?

  1. this.textBoxDescription.Text = "操作说明\r\nESC\t最小化\r\nALT+F4\t退出\r\nShift+F6\t设置访问地址";
this.textBoxDescription.Text = "操作说明\r\nESC\t最小化\r\nALT+F4\t退出\r\nShift+F6\t设置访问地址"; 

显示的结果为

[csharp] view plaincopyprint?

  1. 操作说明
  2. ESC 最小化
  3. ALT+F4 退出
  4. Shift+F6 设置访问地址
操作说明
ESC 最小化
ALT+F4 退出
Shift+F6 设置访问地址

也可以使用Environment.NewLine,所以上面的代码可以写成:

[csharp] view plaincopyprint?

  1. this.textBoxDescription.Text = "操作说明" + Environment.NewLine + "ESC\t最小化" + Environment.NewLine + "ALT+F4\t退出" + Environment.NewLine + "Shift+F6\t设置访问地址";
this.textBoxDescription.Text = "操作说明" + Environment.NewLine + "ESC\t最小化" + Environment.NewLine + "ALT+F4\t退出" + Environment.NewLine + "Shift+F6\t设置访问地址";

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

[csharp] view plaincopyprint?

  1. this.textBoxDescription.Text = @"操作说明
  2. ESC 最小化
  3. ALT+F4 退出
  4. Shift+F6 设置访问地址"
this.textBoxDescription.Text = @"操作说明
ESC 最小化
ALT+F4 退出
Shift+F6 设置访问地址"

这种形式在代码中看起来很直观,但是如果代码编辑器是在Windows下运行的,仍然相当于输入了\r\n。

Environment是一个静态类,位于System名称空间下,提供对当前程序的运行环境和平台的相关信息的访问。它提供了很多有用的静态属性和方法:
具体的可以参考MSDN: http://msdn.microsoft.com/en-us/library/8y536wdx(vs.71).aspx

C#在WinForm中怎样让多行TEXTBOX的换行,布布扣,bubuko.com

时间: 2024-10-21 06:36:55

C#在WinForm中怎样让多行TEXTBOX的换行的相关文章

Winform中的DatagridView显示行号

1.设置 RowPostPaint 为true 2.启用RowPostPaint事件 /// <summary> /// DataGridView显示行号 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridWebConfigView_RowPostP

winform中的小技巧【自用】

一.C#在WinForm中怎样让多行TEXTBOX的换行 今天做项目,有一段提示文字需要弹出来,由于太长,我就想能不能让它换行.然后就百度了一下,嘿嘿,方法很好用哦. 原文链接:https://blog.csdn.net/vince6799/article/details/7356043 原文地址:https://www.cnblogs.com/wsn1203/p/11557767.html

在 WinForm 中使用 Direct2D

在 C# 的 WinForm 应用中,界面的绘制使用的是 GDI+.不过在一些特别的应用中,可能需要用硬件加速来提高绘制的效率.下面就来介绍两种在 WinForm 应用中嵌入 Direct2D 的方法. 这里所谓的“嵌入”,指的是只有窗口的某一部分应用 Direct2D 绘制(用一些控件承载),而不是整个窗口都使用 Direct2D 绘制.这是一种混合方案,需要用硬件加速的部分由自己来绘制,其它部分仍然可以使用现有的 WinForm 技术. 至于 Direct2D 的类库,我仍然使用 Sharp

20150226—C# winform中的ListView解析

ListView在WinForm中多用于表的构建,可以直观的显示表的信息,其格式如同SQL的表 这是他的位置,在公共控件中: Listview的几个重要属性:Columms(集合).Groups(集合).Items(集合).View(视图).以及Items中的SubItems(集合) 其中View共有5种样式,常用选项为Details(详细资料) 下图划分了ListView中Details样式下,各行各列的集合名. Columns集合:需要在其中编辑列名,第一行(列名) Items集合,第一列的

在WinForm中打印DataGridView

PrintDataGridView.cs using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Data;using System.Data.SqlClient;using System.Drawing.Printing;using System.Windows.Forms; namespace ManagerBLL{ public class Print

winform中DataGridView实现分页功能

http://liyaguang20111105.blog.163.com/blog/static/19929420220146283255809/ 在winform的设计中,要实现对DataGridView控件的分页功能,需要两个控件:BindingSource.BindingNavigator,根据需求可对BindingNavigator进行自由的扩展,下图的示例则是根据一般需求对分页功能的实现.红色区域是对BindingNavigator控件扩展后的效果. 具体实现过程 : //窗体构造方

winform中linklabel打开指定网站 【转】

周末在家,正好有空写了个小程序,方便转换2进制.8进制和16进制,其中用了个linklabel控件,用来打开我自己的博客,想不到居然看书也没找到怎么才能用这个控件打开网页. 按理说linklabel控件本身就是超链接,理论上来讲应该打开个网页不是啥大问题,结果看了半天书,居然没有写怎么用. 想来想去,如果在ASPX中,自然不存在这个问题,但是在WINFORM中,想打开页面肯定会调用别的程序才对,否则难道我自己画个浏览器出来. 于是开始查找MSDN,看到System.Diagnostics命名空间

20141226—C# winform中的ListView解析

ListView在WinForm中多用于表的构建,可以直观的显示表的信息,其格式如同SQL的表 这是他的位置,在公共控件中: Listview的几个重要属性:Columms(集合).Groups(集合).Items(集合).View(视图).以及Items中的SubItems(集合) 其中View共有5种样式,常用选项为Details(详细资料) 下图划分了ListView中Details样式下,各行各列的集合名. Columns集合:需要在其中编辑列名,第一行(列名) Items集合,第一列的

在winform中播放FLASH

在winform中播放flash,首先要在工具栏中添加FLASH的控件,方法是在工具栏中右键的“选择项”中,在弹出的对话框中选择“COM组件”,然后选择Shockwave Flash Object,确定后会在工具栏中自动添加控件,将控件"Shockwave Flash Object"添加到窗体中,在代码中设置该对象的Movie属性的值(该值表示播放的FLASH文件的路径,必须是绝对路径),然后执行对象的Player()方法即可播放.在添加控件到窗体时,可能会出现“未能导出ActiveX