C#在控制台中右对齐文本

时间:2011-08-02 14:18:53

标签: c# string console

我有没有办法将文本与控制台应用程序的右侧对齐?我想在同一行但在右侧打印一个带“[ok]”的字符串。就像你在启动Linux Distro时看到的那样。

3 个答案:

答案 0 :(得分:12)

如果你使用的是Console.WriteLine ......

,你可以这样做
Console.WriteLine("{0,-20} {1,20}", "Finished!", "[ok]");

假设你的行是40个字符宽,单词“Finished”将在20个字符的字段中左对齐,然后单词“[ok]”将在另一个20个字符的字段中右对齐。所以你最终会得到像

这样的东西
Finished!                            [ok]

答案 1 :(得分:6)

我建议使用诅咒@Oded说。

如果您确实不想使用任何第三方库,可以使用Console.BufferWidth获取控制台大小,然后使用Console.Console.CursorLeft设置列位置。

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

以上在当前行的末尾打印[ok],将光标留在第一列,下一行

答案 2 :(得分:2)

使用curses库 - ncurses有一个c# binding