【问题标题】:How do I align my text in a label to the right side?如何将标签中的文本对齐到右侧?
【发布时间】:2014-02-08 17:18:46
【问题描述】:

这是我的文件标签。如果标签太长,它会离开屏幕,让我不得不滚动。

我尝试了以下属性(分开的时间):

  • RightToLeft 为是
  • ContentAlignment 作为 BottomRight 或 TopRight

但是,它们都不起作用。什么是正确的属性?

【问题讨论】:

  • 如果我将 AutoSize 设置为 false 那么它会缩短标签文本。
  • 你必须把盒子做得更大。 :-) 如果你使用AutoSize = false,你可以指定盒子大小。

标签: c# winforms alignment label


【解决方案1】:

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

【讨论】:

  • 好的,感谢任何帮助过的人 :) 既然你是第一个,我就把这个给你。
【解决方案2】:
Label label = new Label();
label.AutoSize = false;    
label.TextAlign = ContentAlignment.MiddleRight;

【讨论】:

  • 是的,但是从属性窗口不是以编程方式,所以我回答了,谢谢。
  • 是的,这要好得多,并且清楚已经存在的答案,谢谢。
【解决方案3】:

在属性窗口中:

  • 设置AutoSize = False
  • 设置TextAlign = MiddleRight

在设计器中:

  • 调整标签大小,使其足够宽以适应您尝试设置的任何潜在文本。

【讨论】:

    【解决方案4】:

    只需删除 autosize = true 并设置RightToLeft = true 标签现在将向左增长。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        示例 (WPF):

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

        【讨论】:

          【解决方案7】:

          这对我有用:

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

          【讨论】:

            【解决方案8】:

            设置Autosize=trueTextalign=MiddleRight

            【讨论】:

            • 所有其他答案都说将 AutoSize 设置为 false - 你能解释一下为什么你的答案是正确的而其他答案不是吗?
            【解决方案9】:

            所有你必须做的标签才能使它工作:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-11-23
              • 1970-01-01
              • 1970-01-01
              • 2016-09-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多