C# 请人讲一下字符转义 \r\n
窗体的textbox控件,如果里面的text要换行,好像需要用\r\n才能做到,\r我没用过,有点转不过来,只知道\r回车和\n换行比如我在窗体load事件写如下代码:s...
窗体的textbox控件,如果里面的text要换行,好像需要用 \r\n 才能做到,
\r 我没用过,有点转不过来,只知道 \r 回车 和 \n 换行
比如我在窗体load事件写如下代码:
string c = "我是中国\n人";
MessageBox.Show(c);
textBox1.Text = c;
messagebox和textbox显示竟然是不一样的,messagebox换了行,而textbox却没有换行,不明白…… 展开
\r 我没用过,有点转不过来,只知道 \r 回车 和 \n 换行
比如我在窗体load事件写如下代码:
string c = "我是中国\n人";
MessageBox.Show(c);
textBox1.Text = c;
messagebox和textbox显示竟然是不一样的,messagebox换了行,而textbox却没有换行,不明白…… 展开
提示该问答中所提及的号码未经验证,请注意甄别。
5个回答
展开全部
\r回车,从最老的打字机引入的概念,表示回到本行的开始位置;
\n换行,同样来自打印技术的术语,表示跳转到下一行。\r\n连用,表示跳到下一行,并且返回到下一行的起始位置。这也是windows系统标准的换行符。在unix/linux,\n就表示换行。
messagebox和textbox,只是实现的方式不同而已,总是用\r\n,是没有问题的。
但考虑到跨平台,更好的习惯是用Environment.NewLine属性。
\n换行,同样来自打印技术的术语,表示跳转到下一行。\r\n连用,表示跳到下一行,并且返回到下一行的起始位置。这也是windows系统标准的换行符。在unix/linux,\n就表示换行。
messagebox和textbox,只是实现的方式不同而已,总是用\r\n,是没有问题的。
但考虑到跨平台,更好的习惯是用Environment.NewLine属性。
追问
可以在我的问题中回复一下我的回答者之一盛阿盛吗?他在问你问题 回答者: 盛啊盛
追答
你的Environment.NewLine 是在说C#么?
-------------------------------------------------------
这个属性表示换行符,对于不同的环境将编译成不同的内容。在windows,这个属性被编译为\r\n,在linux,这个属性被编译为\n。
虽然微软的.net框架还不能跨平台,但是mono已经有一个跨平台的解决方案。
这和C#语言并没有关系。
展开全部
\r 创建了一个新的行 \n 移动到新的行
messagebox里的文字是label
label会直译\n 因为label是不能进行输入的 所以label是不需要创建一个新行的
而textbox是可输入的
textbox就算设置了mtline也需要\r\n才能换新行 这和键盘输入方面有关
b0sus
你的Environment.NewLine 是在说C#么?
=================================================
后来查了一下 b0sus 的Environment.NewLine是可以夸平台的
=================================================
然后做一下补充:一般情况下 LZ的问题会体现在用textbox进行编辑时出现换行丢失
当我们使用textbox进行多行内容的录入时,按回车textbox会创建一个新的行
回车键的ask是13 代表\r 所以会换行 但写入的只有\n
而当我们保存了这段文本 并将文本赋值给一个文本框时
换行就丢失了
textbox的机制比较特殊 当它遇到\r时会创建一个新的行 当它遇到\n时 指针会移动到下一行 如果没有下一行 就会出现没有换行的现象了
messagebox里的文字是label
label会直译\n 因为label是不能进行输入的 所以label是不需要创建一个新行的
而textbox是可输入的
textbox就算设置了mtline也需要\r\n才能换新行 这和键盘输入方面有关
b0sus
你的Environment.NewLine 是在说C#么?
=================================================
后来查了一下 b0sus 的Environment.NewLine是可以夸平台的
=================================================
然后做一下补充:一般情况下 LZ的问题会体现在用textbox进行编辑时出现换行丢失
当我们使用textbox进行多行内容的录入时,按回车textbox会创建一个新的行
回车键的ask是13 代表\r 所以会换行 但写入的只有\n
而当我们保存了这段文本 并将文本赋值给一个文本框时
换行就丢失了
textbox的机制比较特殊 当它遇到\r时会创建一个新的行 当它遇到\n时 指针会移动到下一行 如果没有下一行 就会出现没有换行的现象了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textbox默认是single单行的,你可以通过属性,使它支持多行。就可以显示换行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textbox 设置 TextMode="MultiLine"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
textbox须设置一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询