C # выровнять текст прямо в консоли - PullRequest
6 голосов
/ 02 августа 2011

Можно ли выровнять текст по правому краю моего консольного приложения? Я хочу напечатать строку с «[ok]» в той же строке, но с правой стороны. Как вы видите при загрузке дистрибутива Linux.

Ответы [ 3 ]

12 голосов
/ 02 августа 2011

Вы можете сделать что-то подобное, если используете Console.WriteLine ...

Console.WriteLine("{0,-20} {1,20}", "Finished!", "[ok]");

Предполагая, что ваши строки имеют ширину 40 символов, слово «Готово» будет выровнено по левому краю в поле из 20 символов, а затем слово «[ок]» будет выровнено по правому краю в другом поле из 20 символов. Таким образом, вы получите что-то вроде

Finished!                            [ok]
6 голосов
/ 02 августа 2011

Я бы предложил использовать проклятия, как сказал @Oded.

Если вы действительно не хотите использовать какие-либо сторонние библиотеки, вы можете использовать Console.BufferWidth, чтобы получить размер консоли, а затем Console.Console.CursorLeft, чтобы установить положение столбца.

Console.CursorLeft = Console.BufferWidth - 4;
Console.Write("[ok]");

Приведенный выше выводит [ok] в конце текущей строки, оставляя курсор в первом столбце, в следующей строке

2 голосов
/ 02 августа 2011

Используйте библиотеку curses - ncurses имеет c # привязку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...