【发布时间】:2011-08-29 14:41:24
【问题描述】:
我想用带有换行符的资源中的字符串显示 MessageBox (WinForms)。
示例没有资源(WORKS):
string someMsg = "Message. Details:\n" + someDetails;
MessageBox.Show(someMsg);
结果:
消息。详情:
这里有一些细节
当我将字符串 "Message.Details:\n" 移动到资源中时:
string someMsg = GlobalStrings.MsgBoxJustTest + someDetails;
MessageBox.Show(someMsg);
结果:
消息。详细信息:\n这里有一些详细信息
当我将带有“\n”的字符串移动到资源时,MessageBox.Show() 停止将其解释为换行符。
编辑:我正在考虑: someMsg.Replace(@'\n',Environment.NewLine); 但是对于这么简单的事情仍然很烦人。
【问题讨论】:
-
我不想通过 Replace 方法或编辑在代码中处理这个问题。我想将此资源文件添加给可以轻松翻译的“普通”用户。
-
对,但是“普通”用户肯定会发现将实际换行符放在正确的位置比保留“\n”占位符更自然吗? (请参阅@Chilaka Umesh 对他的回答的评论)。也许问题是:您如何将这些字符串“移动”到资源文件中?这个移动过程是 \n 应该被实际换行符替换的地方。
标签: c# winforms localization embedded-resource messagebox