Pregunta

Usando el código que figura a continuación el relleno no parece estar jugando como debería, en teoría, el texto "Añadir este texto" debe comenzar desde la columna 21, tanto en las cuerdas pero en str2 se tiene algunos espacios adicionales. En el registro de la longitud de ambos los hilos de la longitud resultó ser el mismo 20 como se esperaba.

        string str1 = "Test".PadRight(20);
        string str2 = "Test123".PadRight(20);

        string common = "Add this text";

        MessageBox.Show(str1.Length.ToString());
        MessageBox.Show(str2.Length.ToString());

        MessageBox.Show(str1 + common + "\n" + str2 + common);


Alguien encontrado con este problema antes? ¿Hay algo obvio que me falta.

Muchas Gracias.

¿Fue útil?

Solución

Tal vez su cuadro de mensaje está mostrando fuente de paso variable?

Trate de establecer el tipo de letra a Courier New (en cualquiera de control relevante), y ver si ayuda.

Otros consejos

cambiar el código para:

    string str1 = "Test".PadRight(20, 'W');
    string str2 = "Test123".PadRight(20, 'I');
    string common = "Add this text";
    MessageBox.Show(str1.Length.ToString());
    MessageBox.Show(str2.Length.ToString());
    MessageBox.Show(str1 + common + "\n" + str2 + common);

De esta forma podrás ver si el número correcto de caracteres están siendo rellenado correctamente y también será capaz de saber si se trata de un problema de ancho de la fuente como otros han dicho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top