Winfrom固定Label宽度,根据文本动态改变Label的高度 z

Label,要固定住宽度,然后根据文本的长度来动态改变高度,一开始去网上找解决方案,各种根据字体大小啊,字数啊来动态改变,但是效果却不怎么好。最后灵机一动,想起了偶尔用过一次的FlowLayoutPanel,先看一下图吧。

这是视图设计器里边的控件布局,将label5放在了FlowLayoutPanel控件里。

这是运行的效果图:

效果实现了,而且,中英文、符号、各种东西都可以,那么是不是足够简单,足够省脑子呢?

首先我们要把要动态改变的label5的AutoSize属性设为True,然后在初始化方法之后添加这一句。

 

    label5.Text = note.Content; //note.Content是要显示的文本
    flowLayoutPanel1.Size = label5.Size;	

 

 当然,如果要把整个布局都动态的呈现出来,还需要做一点改动。

    label5.Text = note.Content;
    int height = flowLayoutPanel1.Height;
    flowLayoutPanel1.Size = label5.Size;
    Height += flowLayoutPanel1.Height - height;

 

思想就是把这个Control加上flowLayoutPanel1高度的差值,就可以把整个界面动态的呈现出来了。

OK,第一篇就到这里,还有上班呢,这是最简单的一种情形,如果这个label5不是在最下边的话,情况要复杂一点,推荐把label5下边的所有空间加到一个panel里,这样只需要动态的移动panel,就可以动态改变了。当然了,其他的控件同理可用!

 

转载于:https://www.cnblogs.com/zeroone/p/8983647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值