如何将标签中的文本对齐到右侧?

32
所以这是我的文件标签。如果标签过长,它将超出屏幕范围,使我不得不滚动。
我尝试了以下属性(分别):
- `RightToLeft` 设置为 `Yes` - `ContentAlignment` 设置为 `BottomRight` 或 `TopRight`
然而,它们都没有起作用。正确的属性是什么? 文件标签

如果我将 AutoSize 设置为 false,那么标签文本就会被截断。 - puretppc
那么你必须把盒子变大。 :-) 如果你使用 AutoSize = false,你可以指定盒子的尺寸。 - mvo
9个回答

75

尝试将AutoSize设置为false(这将使固定大小的框)。然后,您可以使用TextAlign属性来对齐文本 - 例如使用MiddleRight。那应该就可以解决问题了。


好的,谢谢所有帮助我的人 :) 既然你第一个回答,我就把这个给你。 - puretppc

19
Label label = new Label();
label.AutoSize = false;    
label.TextAlign = ContentAlignment.MiddleRight;

2
是的,但是从属性窗口而不是通过编程来实现,所以我回答了它,谢谢。 - MD SHAHIDUL ISLAM
是的,这样更好、更清晰,对已有的答案也更明了。谢谢。 - Amitya Narayan

11
在属性窗口中:
  • AutoSize = False
  • TextAlign = MiddleRight
在设计器中:
  • 调整标签的大小,使其足够宽以适应您尝试设置的任何潜在文本。

4

只需去掉autosize = true,然后将RightToLeft = true设置为真,标签现在会向左延伸。


2

示例(WPF):

Label label = new Label();
label.HorizontalContentAlignment = HorizontalAlignment.Right;

1

是的,AutoSize = false和RightToLeft = true会起作用。请注意,当您设置RightToLeft时,奇怪的c# 2010 TextAlign TopLeft将正确对齐到右侧。如果我将其设置为Top / Middle Right,则文本会跳到左侧!


0
这对我有用:

your_label_name.TextAlign = System.Drawing.ContentAlignment.MiddleRight;


-1

设置 Autosize=trueTextalign=MiddleRight


3
所有其他答案都建议将 AutoSize 设置为 false - 你能解释一下为什么你的答案是正确的,而其他答案不正确吗? 您的答案正确是因为将 AutoSize 设置为 false 是解决特定问题的一种方法。在某些情况下,该属性可能会自动调整控件的大小,导致在布局和设计方面出现问题。但是在其他情况下,可能需要允许控件自适应大小以适应其内容。因此,这取决于具体的情况和需求。 - Wai Ha Lee

-1

要使其工作,您需要执行以下操作:

  1. Textalign = MiddleRight
  2. Anchor = top and right

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接