C# [winForm编程] 根据label内容Form窗体和label自动扩大缩小的问题 20

我现在有个form,里面有4个label:lblTips,lblLine,lblContext,lblReturn如下图所示,lblContext内容是动态的,现在要求f... 我现在有个form,里面有4个label:lblTips,lblLine, lblContext, lblReturn如下图所示,lblContext内容是动态的,现在要求form和lblContext能实现某种自动缩放,以达到下面两幅图的效果:

要求:1.lblContext里面的内容能能正完整的确显示,2.lblContext缩放的同时不会把其他的label覆盖了
注:我现在用anchor实现了form变化,其他3个label的位置固定,但是lblContext无法正确缩放
问题描述的很清楚了吧? 求大家给个有效的措施,无意义的回复
1楼朋友给的是一个思路,但是不太想用代码来实现,我觉得用VS的窗体设计器设置一下应该就可以达到类似的效果吧?我主要是想学学这个窗体设计器来进行布局的技巧

我自己解决了来总结一下:
基本就是几个属性的使用AutoSize,MaxSize,MinSize,Anchor这三个属性用好,想怎么变就怎么变!
展开
 我来答
巨蟹囧rz小朋友
推荐于2017-09-26 · 超过85用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:122万
展开全部
考虑这个问题的话就是应该在lblContext的TextChanged时间里进行操作,当触发这个事件时,先去判断内容的长度
string text = lblContext.Text;
int num = 20; //设置一行的长度,根据具体需求来定
然后确定行数,再根据行数确定框的大小
int rows = text/20;
int h = lblContext.Size.height;//为label下移做准备
lblContext.Size.height = 4 * rows;//假设一行高度为4
然后再将最后一个按任意键返回的label位置根据框的大小向下移
lblReturn.location.Y += lblContext.Size.height;
lblReturn.location.Y -= h;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式