如何让一个label根据其文字内容的数量动态调整高度?

tlcd 2005-03-14 12:22:01
WINFORM。
现在一个LABEL的具体内容不固定,
但对话框上就是那么大的面积,
怎么办最简单,能使LABEL在内容多的时候也能显示出来,比如一个滑块。

我用了在LABEL下面放PANEL,但没想出怎么能使LABEL的高度能根据内容调整大小。
LABEL的AUTOSIZE属性设了的话,是横向发展的,而且只有一行。
请指点,谢谢!
...全文
318 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hamadou 2005-03-16
  • 打赏
  • 举报
回复
不要加什么size。
直接设置:label1.width = 50
如果想动态地根据字符数量来调整,那么也要我们就这样来做:
假设最大宽度是100,看看长度100能容纳多少个字符(字体大小采用系统默认),用总字符数除以每行字符数,就是几行了啊,有几行就乘以23(默认的高度),再设置它的高为这个值就可以了。你自己试试!
tlcd 2005-03-16
  • 打赏
  • 举报
回复
谢谢你多次回答阿
不过我都有点说不明白了,
我的意思是 宽度可以设置,但不许直接设,比如直接写 lblaaa.Size.Width = 10是不行的,
必须用以个(x,y)这样的一对值才能赋,可这样就需要知道y,就是高度值了,

而我在这问问题的主要原因就是 事先不知道高度会是多少,而希望LABEL能自动根据字符的数量调整高度!!!
hamadou 2005-03-15
  • 打赏
  • 举报
回复
晕,谁说的宽度不能直接设置啊?
不知道最大宽,最大宽就是不要超出你的窗体界面!
实在不行就用多个 label,规定最大长,多了就用下一个label。
tlcd 2005-03-15
  • 打赏
  • 举报
回复
"设置它的width为指定宽。"
宽度这个属性是不能直接设置的,只能同时设定(x,y)这样的一对值。
而高度这个值我是不知道的阿?!!
兔子-顾问 2005-03-14
  • 打赏
  • 举报
回复
你可以画一个长一点,宽度不变。还是那么宽的,显示少了就第一行开始,显示多了。就自动换行了。
daview 2005-03-14
  • 打赏
  • 举报
回复
对呀,只要控制了LABEL的宽度,高度会自动根据内容自动调整的。
hamadou 2005-03-14
  • 打赏
  • 举报
回复
这个,你只要控制它最后的宽度就可以了。
hamadou 2005-03-14
  • 打赏
  • 举报
回复
不要设置autosize属性为ture
然后直接在写完text后,设置它的width为指定宽。
至于它的高,如果不设置的话,它会保持默认的23,所以,你可以将它的高,设置成你那个位置所能容纳的最大的高度!
tlcd 2005-03-14
  • 打赏
  • 举报
回复
LABEL的AUTOSIZE属性设了的话,就没法再设置宽度了.
而且宽度和高度只能一起设定.

请问,到底如何 要控制它最后的宽度????

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧