将格式化(下载)的文本读入消息框
Read formatted (downloaded) text into messagebox
通过从网上下载一个字符串,是否可以使消息框读取像 \r\n
或 Environment.Newline
这样的值,这些值写在下载的文本中?
在线短信包含:First line \r\n Second line
(到一个文本文件中)...我想把它放在消息框中,因为它在文件中是格式化的。
var message = await RemoteHandler.GetWebContent(RemoteHandler.RemoteMessageUrl);
MessageBox.Show(message, "Title", MessageBoxButtons.OK, MessageBoxIcon.Information);
当前输出:
第一行\r\n第二行
想要的输出:
第一行
第二行
经过一些不同的测试用例后,我确定您的 \r\n
很可能在您的字符串中存储为 \r\n
,这会导致 \r\n
打印为字符串文字一个 Environment.NewLine
。您应该使用以下代码之一来更正此字符串:
message = message.Replace("\r\n", Environment.NewLine);
message = message.Replace(@"\r\n", Environment.NewLine);
通过使用双反斜杠,回车符 return 和换行符被转义并因此按字面打印。这要么是数据问题,要么是关于如何从远程资源加载字符串的问题。但是,这应该让您的新行在消息框中正确打印。
通过从网上下载一个字符串,是否可以使消息框读取像 \r\n
或 Environment.Newline
这样的值,这些值写在下载的文本中?
在线短信包含:First line \r\n Second line
(到一个文本文件中)...我想把它放在消息框中,因为它在文件中是格式化的。
var message = await RemoteHandler.GetWebContent(RemoteHandler.RemoteMessageUrl);
MessageBox.Show(message, "Title", MessageBoxButtons.OK, MessageBoxIcon.Information);
当前输出:
第一行\r\n第二行
想要的输出:
第一行
第二行
经过一些不同的测试用例后,我确定您的 \r\n
很可能在您的字符串中存储为 \r\n
,这会导致 \r\n
打印为字符串文字一个 Environment.NewLine
。您应该使用以下代码之一来更正此字符串:
message = message.Replace("\r\n", Environment.NewLine);
message = message.Replace(@"\r\n", Environment.NewLine);
通过使用双反斜杠,回车符 return 和换行符被转义并因此按字面打印。这要么是数据问题,要么是关于如何从远程资源加载字符串的问题。但是,这应该让您的新行在消息框中正确打印。