zoukankan      html  css  js  c++  java
  • 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,就可以动态改变了。当然了,其他的控件同理可用!

  • 相关阅读:
    电路开发软件积累
    .NET移动开发环境搭建
    Microsoft SQL Server Express各版本对比
    .NET IL指令速查表
    C#访问加密的SQLite数据库
    C#中时间计算方法汇总
    最佳C/C++编辑器 source insight3
    常用PHP框架收集
    CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑等
    Windows下Java JDK8配置环境变量
  • 原文地址:https://www.cnblogs.com/zeroone/p/8983647.html
Copyright © 2011-2022 走看看