Windows窗体中的标签的自动换行

Windows窗体中的标签的自动换行

我们如何在Windows窗体中获得标签的自动换行功能?

我在一个面板中放置了一个标签,并添加了一些动态标签的文字。但它超出了面板长度。我怎么解决这个问题?


哔哔one
浏览 607回答 3
3回答

蛊毒传说

快速回答:关闭 AutoSize。这里的一个大问题是标签不会自动改变其高度(仅宽度)。为了实现这一点,您需要对标签进行子类化并包含垂直调整大小逻辑。基本上你在OnPaint中需要做的是:测量文本的高度(Graphics.MeasureString)。如果标签高度不等于文本的高度设置高度并返回。画出文字。您还需要在构造函数中设置ResizeRedraw样式标志。

幕布斯6054654

实际上,接受的答案是不必要的复杂。如果将标签设置为AutoSize,它将随您放入的任何文本自动增长。(这包括垂直增长。)如果要使其以特定宽度进行自动换行,可以设置MaximumSize属性。myLabel.MaximumSize = new Size(100, 0);myLabel.AutoSize = true;经过测试和工作。

慕桂英4014372

在我的情况下(面板上的标签)我设置label.AutoSize = false和label.Dock = Fill。标签文本会自动换行。
打开App,查看更多内容
随时随地看视频慕课网APP