博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winfrom固定Label宽度,根据文本动态改变Label的高度 z
阅读量:2236 次
发布时间:2019-05-09

本文共 766 字,大约阅读时间需要 2 分钟。

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

你可能感兴趣的文章
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>
SQL教程之嵌套SELECT语句
查看>>
日本語の記号の読み方
查看>>
计算机英语编程中一些单词
查看>>
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>
Linux 查看文件大小
查看>>
Java并发编程:线程池的使用
查看>>
redis单机及其集群的搭建
查看>>
Java多线程学习
查看>>
检查Linux服务器性能
查看>>
Java 8新的时间日期库
查看>>
Chrome开发者工具
查看>>
【LEETCODE】102-Binary Tree Level Order Traversal
查看>>
【LEETCODE】106-Construct Binary Tree from Inorder and Postorder Traversal
查看>>
【LEETCODE】202-Happy Number
查看>>