zoukankan      html  css  js  c++  java
  • Winfrom固定Label宽度,根据文本动态改变Label的高度

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

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

    这是运行的效果图:

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

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

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

    是的,你没看错,只要这两句代码,就可以把整个的Label,固定高度,然后根据文本长度,实现高度可变,当然,如果要把整个布局都动态的呈现出来,还需要做一点改动。

    1.  
      label5.Text = note.Content;
    2.  
      int height = flowLayoutPanel1.Height;
    3.  
      flowLayoutPanel1.Size = label5.Size;
    4.  
      Height += flowLayoutPanel1.Height - height;

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

  • 相关阅读:
    Linux命令笔记
    Linux服务安装集合(1)
    浅谈GIT之通讯协议
    浅谈GIT之底层对象理解
    友情链接
    当黑客被抓是种怎样的体验?
    PHP 中 include 和 require 的区别详解
    论假如有一台无限算力的主机
    msf渗透安卓手机
    aws ec2 安装Elastic search 7.2.0 kibana 并配置 hanlp 分词插件
  • 原文地址:https://www.cnblogs.com/simadi/p/13671910.html
Copyright © 2011-2022 走看看