Windows窗体中的标签的自动换行我们如何在Windows窗体中获得标签的自动换行功能?我在一个面板中放置了一个标签,并添加了一些动态标签的文字。但它超出了面板长度。我怎么解决这个问题?
3 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
快速回答:关闭 AutoSize。
这里的一个大问题是标签不会自动改变其高度(仅宽度)。为了实现这一点,您需要对标签进行子类化并包含垂直调整大小逻辑。
基本上你在OnPaint中需要做的是:
测量文本的高度(Graphics.MeasureString)。
如果标签高度不等于文本的高度设置高度并返回。
画出文字。
您还需要在构造函数中设置ResizeRedraw样式标志。
幕布斯6054654
TA贡献1876条经验 获得超7个赞
实际上,接受的答案是不必要的复杂。
如果将标签设置为AutoSize,它将随您放入的任何文本自动增长。(这包括垂直增长。)
如果要使其以特定宽度进行自动换行,可以设置MaximumSize属性。
myLabel.MaximumSize = new Size(100, 0);myLabel.AutoSize = true;
经过测试和工作。
- 3 回答
- 0 关注
- 606 浏览
添加回答
举报
0/150
提交
取消