Что ж, немного странно, что вкладки теряются, но, с другой стороны, вкладки, вероятно, будут проблематичными, если длина отдельных элементов строки (имя, состояние и т. Д.).
Вместо этого вы можете использовать string.Format()
и использовать фиксированную ширину столбца.
Чтобы получить хороший визуальный вывод, это должно включать шаг разбора для определения правильной ширины столбца.
Когда это будет сделано, используйте что-то подобное, чтобы использовать пробелы вместо вкладок.
string line = string.Format("{0,-20}{1,-20}{2,-20}", "name", "state", "country");
РЕДАКТИРОВАТЬ : увидел, что вы не хотите использовать пробелы.
В этом случае вам, вероятно, придется обрабатывать это в самом алгоритме печати. Вы по-прежнему можете разделять элементы вкладками, а затем разделять их по каждой строке, создавая массив элементов (столбцов) для каждой строки.
Для каждого элемента распечатайте его, используя Graphics.DrawString()
с подходящим смещением X-позиции.
См. Документацию для Graphics.DrawString .