【发布时间】:2014-03-14 10:29:45
【问题描述】:
小问题:我的资源中有一个字符串:“这是我的测试字符串 {0}\n\nTest”
我正在尝试在我的消息框中显示此字符串:
MessageBox.Show(String.Format(Properties.Resources.About,
Constants.VERSION),
Properties.Resources.About_Title, MessageBoxButton.OK,
MessageBoxImage.Information);
但是我没有换行。 \n 仍然显示为字符,而不是换行符。
我也尝试使用 mystring.Replace("\n", Environment.NewLine) 之类的解决方法,但这也没有任何改变。
我做错了什么?
编辑:有趣的事情是:Replace("\n", "somethingelse") 不会改变任何东西。
Edit2:在我的资源文件中使用 Shift+Enter 而不是 \n 似乎可以工作......无论如何都有奇怪的行为
【问题讨论】:
-
很遗憾没有。它以纯文本形式显示 \r\n
-
这很有趣..当我通过分配给变量来使用 OP 的字符串时它可以工作..但是当我将它放在资源中时它不起作用。
-
您的资源文件是 ResX 格式吗?你是用 VS resx 编辑器添加资源字符串的吗?
-
Environment.NewLine 在 Windows 上运行时将给出“\r\n”。如果要为基于 Unix 的环境生成字符串,则不需要 "\r"
-
当从字符串表中读取字符串时 '\r\n' 变为 '\\r\\n' 这就是为什么 shift+enter 不起作用 \r\n
标签: c# wpf messagebox