如何在文本框中显示换行命令?

5

大家好,我正在用C#做一个小项目,我需要知道输入源发送了哪些命令,这样我才能根据需要执行工作。 以下是一个示例...

textBox1.Text = "First line \nSecond line";
richTextBox1.Text = "First line \nSecond line";

Richtextbox 显示以下输出:

第一行

第二行

Textbox 显示以下输出:

第一行第二行

请告诉我如何在文本或richtextbox中显示新行"\ n"、回车"\ r"或类似的输入作为字符输出,以便我知道换行命令来自输入数据。

例如,文本或richtext box 将显示以下输出。

第一行\n第二行

提前感谢您。


真的不确定你想做什么。你是想在文本框中显示\n还是想要能够读取它?即使在文本框中不显示,.Text属性将给出一个包含\n的字符串。 - gideon
我想在文本框或富文本框中将输入源的换行命令显示为字符或符号,这样当我看到文本框时就会知道换行命令正在到来。 - user777304
欢迎来到 Stack Overflow!我想提醒新用户,赞赏可以通过点赞(一旦您有足够的积分)和采纳答案(在答案旁边勾选)来表达。如果您有任何问题,请查看[FAQ],特别是[ASK]部分。 - Justin Pihony
6个回答

5
假设我有一个包含换行符的字符串:
 string st = "my name is DK" + Environment.NewLine + "Also that means it's my name";

现在我想展示文本中有换行符,这就是:

 textBox1.Text = st.Replace(Environment.NewLine, "%");

这将显示带有百分号的换行聊天记录。

3

针对WinForms应用程序设置

this.textBox1.Multiline = true;

使用"\r\n"作为

textBox1.Text = "First line \r\nSecond line";

1
除非我误解了,他试图在文本中“看到”换行符,而不是引起换行。 - rune711

1

你可以在字符串前面加上@,或者在每个n(\n)之前使用双斜杠。这两种方法都是转义\的方式,以便它显示而不是被视为新行的一部分。

 @"This will show verbatim\n";
 "This will show verbatim\\n";

你可以通过对输入文本执行“替换(Replace)”操作来利用它。
richTextBox1.Text = richTextBox1.Text.Replace("\n", "\n\\n");
richTextBox1.Text = richTextBox1.Text.Replace("\r\n", "\r\n\\n");

在替换操作中,我保留了原始的换行符,以便它仍然存在,并紧随显示版本之后。如果您不需要这些内容,可以将其删除。 :)

0

TextBoxt1.Text ="第一行 \r\n 第二行";


1
虽然这段代码片段可能解决了问题,但包括解释真的有助于提高您的帖子质量。请记住,您正在为未来的读者回答问题,而这些人可能不知道您的代码建议原因。请尽量不要在代码中添加过多的解释性注释,这会降低代码和解释的可读性! - kayess
你能解释一下这个答案有什么问题吗?它不工作吗? - New Developer

0

使用组合 "\r\n"(或包含它的 Environment.NewLine 常量)。


1
我想在文本框或富文本框中将来自任何输入源的换行输入显示为字符,这样我就会知道换行命令来自输入源... - user777304
1
为了在文本框中显示类似于“Something \r\n something”这样的内容,你可以这样做:txtBox.Text = txtBox.Text.Replace("\r", "\r").Replace("\n", "\n"); - SimpleVar

0

这是您的文本框的外观 将您的文本框属性从单行更改为多行,然后它将换到新行

TextBox1.TextMode = TextBoxMode.MultiLine;
        TextBox1.Text = "First line \n New line ";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接