varias tipos salto lineas linea con c# winforms localization embedded-resource messagebox

tipos - salto de linea en c#



C#- MessageBox-Localización de mensajes en recursos y saltos de líneas (4)

Me gustaría mostrar MessageBox (WinForms) con cadena desde Recursos con saltos de línea.

ejemplo sin recursos (OBRAS):

string someMsg = "Message. Details:/n" + someDetails; MessageBox.Show(someMsg);

Resultado:

Mensaje. Detalles:

aquí hay algunos detalles

Cuando muevo la cadena "Mensaje. Detalles: / n" en Recursos:

string someMsg = GlobalStrings.MsgBoxJustTest + someDetails; MessageBox.Show(someMsg);

Resultado:

Mensaje. Detalles: / n hay algunos detalles

Cuando moví la cadena con "/ n" a los recursos, entonces MessageBox.Show () se detuvo para interpretarlo como nueva línea.

Editar: estoy pensando en: someMsg.Replace (@ ''/ n'', Environment.NewLine); pero sigue siendo bastante molesto para algo tan simple.


Podría hacer algo como esto (siempre que no sea .net 2.0):

public static class StringExt { public static String FixNewLines(this String str) { return str.Replace(@''/n'',Environment.NewLine); } }

Y entonces:

string someMsg = GlobalStrings.MsgBoxJustTest + someDetails; MessageBox.Show(someMsg.FixNewLines());

Sin embargo, esto afectará TODAS las cadenas en su aplicación (ámbito de espacio de nombres)

Es una solución sucia, pero es una solución rápida.

Personalmente, simplemente arreglaría mi lógica hasta el final, en lugar de hacer algo como lo anterior.


Tal vez pueda Abrir el archivo resx como código y agregar los saltos de línea directamente en el XML

O

Posiblemente se pierden al leer debido al carácter de escape, tal vez intente usar //


Una solución fácil es almacenar "marcadores de posición" en cadenas de recursos. Por ejemplo, esta cadena se almacena en * .resx bajo la clave "MessageDetails": "Mensaje. Detalles: {0} {1}". Luego, en tu código, úsalo así:

MessageBox.Show (String.Format (GlobalStrings.MessageDetails, Environment.NewLine, @ "El mensaje"));

La ventaja aquí es la portabilidad, como puede ver.


si agrega eso a los recursos, no necesita / n como escape charecter. Abra su archivo de recursos en el bloc de notas para ver esto y cahnge en el archivo XML (resx)

o

Escriba sus datos en el bloc de notas con una nueva línea. Copia eso y pega en tu editor de recursos

editar:

o

Escriba / Pegue sus datos en la IU del editor de recursos, seleccione / ny reemplácelo con un salto de línea real, con Shift-Enter .