Winfrom固定Label宽度,根据文本动态改变Label的高度
最近有一个项目,用到Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好。最后灵机一动,想起了偶尔用过一次的FlowLayoutPanel,先看一下图吧。
这是视图设计器里边的控件布局,将label5放在了FlowLayoutPanel控件里。
这是运行的效果图:
效果实现了,而且,中英文、符号、各种东西都可以,那么是不是足够简单,足够省脑子呢?
首先我们要把要动态改变的label5的AutoSize属性设为True,然后在初始化方法之后添加这一句。
-
label5.Text = note.Content; //note.Content是要显示的文本
-
flowLayoutPanel1.Size = label5.Size;
是的,你没看错,只要这两句代码,就可以把整个的Label,固定高度,然后根据文本长度,实现高度可变,当然,如果要把整个布局都动态的呈现出来,还需要做一点改动。
-
label5.Text = note.Content;
-
int height = flowLayoutPanel1.Height;
-
flowLayoutPanel1.Size = label5.Size;
-
Height += flowLayoutPanel1.Height - height;
思想就是把这个Control加上flowLayoutPanel1高度的差值,就可以把整个界面动态的呈现出来了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)