winform中实现label的自动换行

    本文适用于VS 2005/2008/2010,winform

 

    之前做某个项目的时候,需要实现winform中label文字的自动换行,当时查找了一些资料,找到2种方法:

    1. 把Label的Dock属性设置成Fill,并同时把Label的AutoSize属性设成False。
    2. 计算控件大小以适应文本。

    经过实际测试,效果不太好,使用也不方便,尤其是计算控件大小,费时费力不讨好。

 

    最近发现一个简单好用的方法:

    先添加一个FlowLayoutPanel控件,然后在FlowLayoutPanel中添加一个Label,Label使用默认属性,设置好FlowLayoutPanel的宽度,就能实现label的自动换行。

    截图看一下效果。下面是开发时的截图

design

    运行时的截图

run

 

 

    总结一下3种方法:

    1. 把Label的Dock属性设置成Fill,并同时把Label的AutoSize属性设成False。缺点:不能控制label的位置,不能控制label的长度。优点:换行自动完成。
    2. 计算控件大小以适应文本。缺点:这是一个非常有难度的技术活,计算很容易出错。优点:可以精确控制label的位置、长度。
    3. FlowLayoutPanel。缺点:暂时没发现。优点:可以精确控制label的位置、长度;换行自动完成,无需人工干预。

 

    参考资料:

http://www.cppblog.com/baby-fly/archive/2010/03/15/109741.html

http://blog.csdn.net/nyzhl/article/details/1670769

转载于:https://www.cnblogs.com/ols/archive/2011/07/11/2103401.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值