标签从右向左增长

Yas*_*ash 62 .net c# label winforms

我的表格上有一个标签,位于表格的右侧.此标签加载动态文本.

有时它加载的文本太长,文本越过表单的边框,这是一些文本不在表单中.

我想让标签从右到左而不是从左到右.我该如何实现这一目标?

Ale*_*Río 75

我通过设置标签解决了这个问题

AutoSize属性为false,

TextAlign to MiddleRight,

一个锚定.

请注意,标签大小本身并没有随文本增长,但您可以通过为其提供足够宽度来适应内容来处理它.视觉效果是一样的.

  • 简单实用. (2认同)

Yas*_*ash 24

我的问题是我的标签是在一个面板中,我做的任何事情都没有用.

我做的是将标签放在一个TableLayoutPanel控件中并将TableLayoutPanel的RightToLeft属性设置为True; 这样做了.


Sha*_*ard 6

你不能让它"从右向左成长",但是你可以分配它的Left属性,这样它就不会超出形式:

label1.Text = "some dynamic text here...";
if (label1.Right > this.Width)
    label1.Left = this.Width - label1.Width;
Run Code Online (Sandbox Code Playgroud)

如果设计允许,您还可以将其高度加倍,以使文本跨越两行.


arm*_*.mx 6

您可以使用 TableLayoutPanel 或其他兼容的容器控件,但为容器设置 RightToLeft 属性,为标签设置 Dock="Right"

设置 RightToLeft 属性并不总是给出预期的结果,因为对于某些字符串格式,会修改字符串以更改单词的顺序。