Winforms标签文本属性不显示\ t制表符
这应该很简单。
我的表单上有一个Label控件,我试图在文本之间放置一个制表符
Label.Text = "Is there a\ttab";
输出是“有没有”;
我究竟做错了什么?
Tab实际上是一个非打印字符 – 或者说是一个控制字符。 它的作用完全取决于应用程序。 你到底想要什么? 8个空格? 4个空格? 需要多少空间才能达到8列的倍数? 将以下文字缩进一厘米?
简而言之: Label
控件不支持制表符。 实际上,Label只使用普通的图形例程来渲染其文本,他们应该如何知道你打算用制表符进行什么?
如果需要将该字符显示为多个空格,则应将其替换为该空格数。
我想将标签( "\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
这对用户来说更容易阅读。
没有什么,Windows窗体标签的function非常有限,不支持\ t字符。
一个(稍微尴尬)的替代方案可能是:
label1.Text = "test\ting\t123".Replace("\t"," ");
旧线程,但既然没有一个答案似乎对我有用,我会继续投入2美分。 我无法获得“\ t”甚至使用手动空格来为标签添加间距。 我最终做的是使用alt代码alt-255 5次。 这就像一个魅力。 要爱完全黑客……
是的,要插入标签,只需添加所需的空格即可。
如果你想将下一个偏移一个指定的长度,你可以试试
int offset_text = 20; label1.Text = "Is there a".PadRight(offset_text)+"Tab"; label2.Text = "More Text".PadRight(offset_text)+"Too";
只需使用文字字符串,你应该好好去……
label1.Text = @"Test for Tab";
那个大空间在哪里,我实际上三次击中标签…希望这有帮助
只需单击标签Text属性右侧的箭头(单击Text属性内容,将显示下拉箭头)。 将打开一个用于文本编辑的框,在该框中可以使用Enter,Tab等。