当输出到标签时,有没有一种方法可以保留格式

本文关键字:方法 一种 格式 保留 标签 输出 有没有 | 更新日期: 2023-09-27 17:57:47

我有一些用户输入,正在输出到标签。

我使用过HTML。编码以便以用户输入的方式显示输入(忽略为html标记)。

然而,我注意到像New Line这样的用户输入没有在标签中使用。它只是显示为空白。

我做了这个

                msg.Text = msg.Text.Replace(Environment.NewLine, "<br />");

其现在似乎正在显示正确的输入。

这是最好的方法吗?或者有没有一种通用的方法可以将换行符、制表符等所有不可见的格式化内容转换为HTML标记?

当输出到标签时,有没有一种方法可以保留格式

我不知道还有其他方法。我通常做的(如果你有一个"''r''n"或"''r''n"组合)是先替换所有的"''r''n",然后再替换任何一个"最后"。

lbl.Text = lbl.Text.Replace("'r'n", "<br />").Replace("'n", "<br />");

对于选项卡,可以使用4个不间断空格

lbl.Text = lbl.Text.Replace("'t", "&nbsp;&nbsp;&nbsp;&nbsp;")

要保留任何间距(因为html将把多个连续的空格聚合到一个空格中),请使用:

lbl.Text = lbl.Text.Replace("  ", "&nbsp;&nbsp;")//Replace every 2-space pair.

请记住,在添加标记(如<br/>您有意渲染的。

如果您想在不插入标记的情况下显示带有原始回车的信息,也可以使用TextBox,将其MultiLine属性设置为"true",将Enabled设置为"false"。不过我认为这个标签是最好的选择。

如果可能,只需使用多行文本框而不是标签。