为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哔哔one 2019-08-27 11:00:22
Windows窗体中的标签的自动换行我们如何在Windows窗体中获得标签的自动换行功能?我在一个面板中放置了一个标签,并添加了一些动态标签的文字。但它超出了面板长度。我怎么解决这个问题?
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

快速回答:关闭 AutoSize

这里的一个大问题是标签不会自动改变其高度(仅宽度)。为了实现这一点,您需要对标签进行子类化并包含垂直调整大小逻辑。

基本上你在OnPaint中需要做的是:

  1. 测量文本的高度(Graphics.MeasureString)。

  2. 如果标签高度不等于文本的高度设置高度并返回。

  3. 画出文字。

您还需要在构造函数中设置ResizeRedraw样式标志。


查看完整回答
反对 回复 2019-08-27
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

实际上,接受的答案是不必要的复杂。

如果将标签设置为AutoSize,它将随您放入的任何文本自动增长。(这包括垂直增长。)

如果要使其以特定宽度进行自动换行,可以设置MaximumSize属性。

myLabel.MaximumSize = new Size(100, 0);myLabel.AutoSize = true;

经过测试和工作。


查看完整回答
反对 回复 2019-08-27
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

在我的情况下(面板上的标签)我设置label.AutoSize = falselabel.Dock = Fill。标签文本会自动换行。


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 606 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信