| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5391 人关注过本帖
标题:求助,如何改变label的边框颜色?
只看楼主 加入收藏
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 6楼 liang008
不知道你是如何用有边框的形式解决半个字符问题的,我反复试验结果是:无论是否有边框,label控件对超出显示范围的英文字符都有显示半个的可能。
如果非要定宽label,解决办法有两个:一是将字符串里所有的英文字符转换为对应的中文字符,这样可以自动换行显示,第二种方法是计算当前字符显示宽度,对超出显示宽度的加换行符,自动到下一行显示。

能编个毛线衣吗?
2018-07-20 09:25
liang008
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-7-18
收藏
得分:0 
回复 11楼 wmf2014
我把label设置为有边框时,没有发生显示半个字符的情况,因为我打印的是窗体(使用有边框时窗体显示什么就能打印出什么,但是无边框时窗体看上去是显示了全部字符,实际打出来却少了半个字符)
这里我想请教一下有没有办法得到label是否发生了换行?
如果能得到label发生了自动换行,结合8楼的办法就能解决这个问题
大概是这样 如果换行了Label1.AutoSize = false,否则 Label1.AutoSize = true
2018-07-20 09:43
liang008
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-7-18
收藏
得分:0 
回复 11楼 wmf2014
我遇到的问题是字符串长度刚好靠近label边界却没有发生换行时出现的;当字符串足够长发生自动换行后就不会出现这个问题
2018-07-20 09:51
liang008
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-7-18
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


上图第一行为 Label1.AutoSize = true 打出来的效果

第二行为 Label1.AutoSize = false 打出来的效果

Label1的字符串是变化的,有可能会发生换行,换行后打出来都是OK的,只有像第二行这种情况才会出现
2018-07-20 10:02
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:0 

那你就计算字体大小和label1.width关系,预留半个字体位置,通过设置字体大小解决。

2018-07-20 12:24
liang008
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-7-18
收藏
得分:0 
回复 15楼 wds1
要求的字体是固定,没办法改变,现在已经换成TextBox替换了label,但是TextBox打印出来的字体与label的有点区别,只能先将就使用了,再次谢谢大家的热心帮助!
2018-07-20 14:21
快速回复:求助,如何改变label的边框颜色?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018318 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved