C# - MessageBox - 资源和换行中的消息本地化

bin*_*all 8 c# localization messagebox embedded-resource winforms

我想用来自Resources的字符串显示带有换行符的MessageBox(WinForms).

没有资源的示例(WORKS):

string someMsg = "Message. Details:\n" + someDetails;

MessageBox.Show(someMsg);
Run Code Online (Sandbox Code Playgroud)

结果:

信息.细节:

这里有一些细节

当我将字符串"消息.详细信息:\n"移动到资源中时:

string someMsg = GlobalStrings.MsgBoxJustTest + someDetails;
MessageBox.Show(someMsg);
Run Code Online (Sandbox Code Playgroud)

结果:

信息.细节:\有一些细节

当我用"\n"将字符串移动到资源时,MessageBox.Show()停止将其解释为换行符.

编辑:我在想:someMsg.Replace(@'\n',Environment.NewLine); 但对于如此简单的事情,它仍然很烦人.

Ume*_*AKA 11

如果你把它添加到资源它不会\n作为转义字符只需打开你的资源文件在记事本中看到这个和cahnge在XML文件(resx)

要么

使用新行在记事本中键入数据.复制并粘贴到资源编辑器中

编辑:

要么

键入/粘贴数据到资源编辑器UI,选择\n并将其替换为实际的换行符Shift-Enter.

  • 在资源编辑器中输入"消息.详细信息:",然后按"切换+输入",只需输入密钥.这可能对你有帮助. (6认同)