Это должно быть очень просто.
У меня есть Элемент управления "метка" на моей Форме, и я пытаюсь поместить символ табуляции между текстом
Label.Text = "Is there a\ttab";
Вывод, "Там atab";
Что я делаю неправильно?
Tab на самом деле является непечатным символом, а скорее управляющим символом. То, что она делает, полностью зависит от приложения. Чего именно вы ожидаете? 8 пробелов? 4 пробела? Столько пробелов, сколько нужно, чтобы добраться до множества из 8 столбцов? Отражение следующего текста на один сантиметр?
Короче говоря: элемент управления Label
не поддерживает табуляции. На самом деле, Label просто использует обычные графические процедуры для отрисовки своего текста, и откуда они знают, что вы собираетесь делать со своим символом табуляции?
Если вам нужно отобразить этот символ в виде количества пробелов, то вы должны заменить его на это количество пробелов.
Чтобы вставить вкладку, просто добавьте желаемые пробелы.
Если вы хотите компенсировать следующую указанную длину, вы можете попробовать
int offset_text = 20;
label1.Text = "Is there a".PadRight(offset_text)+"Tab";
label2.Text = "More Text".PadRight(offset_text)+"Too";
Ничего, этикетки Windows Forms очень ограничены в функциональности и не поддерживают символ \ t.
(слегка неловкая) альтернатива может быть:
label1.Text = "test\ting\t123".Replace("\t"," ");
Просто используйте буквальную строку, и вы должны быть хорошими, чтобы пойти ...
label1.Text = @"Test for Tab";
Где это большое пространство - где я на самом деле ударил вкладку три раза ... надеюсь, что это поможет