Winforms标签文本属性不显示\ t制表符

时间:2010-01-28 13:00:47

标签: c# winforms

这应该很简单。

我的表单上有一个Label控件,我试图在文本之间放置一个制表符

Label.Text = "Is there a\ttab";

输出是“有没有”;

我做错了什么?

7 个答案:

答案 0 :(得分:11)

Tab实际上是一个非打印字符 - 或者更确切地说是一个控制字符。它的作用完全取决于应用程序。你到底想要什么? 8个空格? 4个空格?需要多少空间才能达到8列的倍数?将以下文字缩进一厘米?

简而言之:Label控件不支持标签。实际上,Label只使用普通的图形例程来渲染文本,他们应该知道你打算用标签字符做什么?

如果您需要将该字符显示为多个空格,则应将其替换为该空格数。

答案 1 :(得分:3)

旧线程,但由于没有一个答案似乎对我有用,我会继续投入我的2美分。我无法获得“\ t”或甚至使用手动空格来为标签添加间距。我最终做的是使用alt代码alt-255 5次。这就像一个魅力。要爱完全黑客......

答案 2 :(得分:3)

我想将标签("\t")添加到项目的下拉列表中。这些项目有ToString方法,可以将大约3个单词连接在一起。他们没有排队。例如:

  • 1-I 45
  • 123-AB 511
  • 123456-MMM 611

像这样的长名单难以阅读。所以我用string.Format这样:

string.Format("{0,6}-{1,-4} {2}",id,name,num);

逗号后的数字将右对齐/填充(如果为正),左对齐/填充(如果为负)。 然后我将Combobox中的字体改为等宽字体,就像Courier New一样,你得到这样的东西:

     1-I    45
   123-AB   511
123456-MMM  611

用户阅读起来容易得多。

答案 3 :(得分:2)

没有,Windows窗体标签的功能非常有限,不支持\ t字符。

(稍微尴尬)替代方案可能是:

label1.Text = "test\ting\t123".Replace("\t","    ");

答案 4 :(得分:1)

是的,要插入标签,只需添加所需的空格。

如果要将下一个偏移指定的长度,可以尝试

int offset_text = 20;
label1.Text = "Is there a".PadRight(offset_text)+"Tab";
label2.Text = "More Text".PadRight(offset_text)+"Too";

答案 5 :(得分:0)

只需使用文字字符串就可以了...

label1.Text = @"Test for            Tab";

那个大空间是我实际上三次击中标签的地方......希望这有帮助

答案 6 :(得分:0)

只需单击标签Text属性右侧的箭头(单击Text属性内容,将显示下拉箭头)。将打开一个用于文本编辑的框,在该框中可以使用Enter,Tab等。