measurestring如何让Label的背景透明(小技巧)

measurestring  时间:2021-07-05  阅读:()

VC里或C#里的graphics库里的emSize到底是什么意思?

就是字体大小啊。

? 看附图测试,先把标签字体设置为20,作为参照,然后在按钮事件中编写绘制字符串的代码,emSize也设置为20,可以看到大小一致。

?

c# pen 如何设置车下面这样的线型呢? ->->->->-> 是一条线,然后线上面有好多个方向

Pen?p=new?Pen(Brushes.DarkGreen);? ????????????p.EndCap=?System.Drawing.Drawing2D.LineCap.Custom;好像Pen对象的(EndCap属性)线帽样式没法设置“>”样的,我下面的代码做了一个自定义的 ????????protected?override?void?OnPaint(PaintEventArgs?e) ????????{ ????????????base.OnPaint(e); ????????????Pen?p?=?new?Pen(Brushes.DarkGreen); ????????????p.EndCap?=?System.Drawing.Drawing2D.LineCap.Custom; ????????????p.Width?=?1; ????????????string?line?=?"-"; ????????????string?arrow?=?">"; ????????????SizeF?sfLine?=?e.Graphics.MeasureString(line,?this.Font); ????????????SizeF?sfArrow?=?e.Graphics.MeasureString(arrow,?this.Font); ????????????for?(int?i?=?0;?i?如何让Label的背景透明(小技巧)问题很简单不是吗,把Label的BackColor设置成Color.Transparent,然后它就成透明了!表面上看是这样的,但实际上是让它的背景与它的Parent控件的背景一样,这样看上去就是透明的了,实际在它的OnPaintBackGround中,还是完成了一样的绘图工作。

而它这个Label在一个图片上时,你会发现它又变得不透明了,它的背景颜色与PictureBox的背景颜色是一样的。

this.SetStyle(ControlStyles.SupportsTransparentBackColor,true); 其结果与设置背景颜色是一样的,在图片上还是不能透明。

于是我想自己重新写一个透明的label,决定从原来的Label派生,在背景透明时,不去画背景,而只画文字。

直接重载OnPaint和OnPaintBackground两个函数,结果发现背景变成黑色的了。

郁闷!当OnPaintBackground函数什么也不做时,它实际上用默认的黑色给画了背景。

其实我想要的就是让主窗口忽略Label的背景,用原来区域上的图形来绘制该控件的背景。

但问题是:我没有办法得到主窗口的给定区域的背景。

想用Graphics.FromHwnd,结果是在取得Graphic的时候出现运行时错误,更别说取得图片区域了。

至于其它方法,没想也不想去想了。

usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Drawing;usingSystem.Data;usingSystem.Windows.Forms;namespaceWebb.InstantReplay.PublicControls.UIControls{/// <summary///SummarydescriptionforTransparentLabel2./// </lassTransparentLabel2:System.Windows.Forms.PictureBox{//FieldsprivatePoint_Location=newPoint(0,0);//PropertiespublicPointTextLocation{get{returnthis ._Location;}set{this ._Location=value;}}[Browsable(true)]newpublicstringText{get{returnbase .Text;}set{base .Text=value;}}[Browsable(true)]newpublicFontFont{get{returnbase .Font;}set{base .Font=value;}}//publicTransparentLabel2(){}protectedoverridevoidOnPaint(PaintEventArgse){base .OnPaint(e); SizeFm_size= e.Graphics.MeasureString(this .Text, this .Font); e.Graphics.DrawString(this .Text, this .Font,Brushes.Black,

PacificRack - 洛杉矶QN机房 低至年$7.2 同有站群多IP地址VPS主机

需要提前声明的是有网友反馈到,PacificRack 商家是不支持DD安装Windows系统的,他有安装后导致服务器被封的问题。确实有一些服务商是不允许的,我们尽可能的在服务商选择可以直接安装Windows系统套餐,毕竟DD安装的Win系统在使用上实际上也不够体验好。在前面有提到夏季促销的"PacificRack夏季促销PR-M系列和多IP站群VPS主机 年付低至19美元"有提到年付12美元的洛杉...

piayun(pia云)240元/季起云服务器,香港限时季付活动,cn2线路,4核4G15M

pia云怎么样?pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御。目前,Pia云优惠促销,年付全场8折起,香港超极速CN2季付活动,4核4G15M云服务器仅240元/季起,香港CN2、美国三网CN2深圳BGP优质云服务器超高性...

Vultr新用户省钱福利,最新可用优惠码/优惠券更新

如今我们无论线上还是线下选择商品的时候是不是习惯问问是不是有优惠活动,如果有的话会加速购买欲望。同样的,如果我们有准备选择Vultr商家云服务器的时候,也会问问是不是有Vultr优惠码或者优惠券这类。确实,目前Vultr商家有一些时候会有针对新注册用户赠送一定的优惠券活动。那就定期抽点时间在这篇文章中专门整理最新可用Vultr优惠码和商家促销活动。不过需要令我们老用户失望的,至少近五年我们看到Vu...

measurestring为你推荐
ipad怎么分屏ipad悬浮窗怎么改为分屏?混淆矩阵非监督分类可以用混淆矩阵进行精度评价吗settimermfc里SetTimer和Sleep有什么区别洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!fclose为什么fclose之后remove还是不成功备忘录模式Java中常用的设计模式有哪些?请详细说明一下工厂模式。vipjrvipjr跟哒哒英语比,两家公司的区别在哪里?各自的特点有哪些?网页微信客户端什么叫微信网页版?和电脑版是一回事吗?数据分析报告范文800字统计分析报告什么是SOA什么是java架构
汉邦高科域名注册 七牛优惠码 awardspace l5639 正版win8.1升级win10 淘宝双十一2018 铁通流量查询 godaddy域名证书 微信收钱 怎样建立邮箱 789电视网 域名和空间 亚马逊香港官网 服务器合租 最好的qq空间 华为云服务登录 根服务器 申请免费空间 789电视剧网 rewritecond 更多