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,

VirtVPS抗投诉瑞士VPS上线10美元/月

专心做抗投诉服务器的VirtVPS上线瑞士机房,看中的就是瑞士对隐私的保护,有需要欧洲抗投诉VPS的朋友不要错过了。VirtVPS这次上新的瑞士服务器采用E-2276G处理器,Windows/Linux操作系统可选。VirtVPS成立于2018年,主营荷兰、芬兰、德国、英国机房的离岸虚拟主机托管、VPS、独立服务器、游戏服务器和外汇服务器业务。VirtVPS 提供世界上最全面的安全、完全受保护和私...

HostKvm开年促销:香港国际/美国洛杉矶VPS七折,其他机房八折

HostKvm也发布了开年促销方案,针对香港国际和美国洛杉矶两个机房的VPS主机提供7折优惠码,其他机房业务提供8折优惠码。商家成立于2013年,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。下面列出几款主机配置信息。美国洛杉矶套餐:美国 US-Plan1CPU:1core内存:2GB硬盘...

friendhosting:(优惠55%)大促销,全场VPS降价55%,9个机房,不限流量

每年的7月的最后一个周五是全球性质的“系统管理员日”,据说是为了感谢系统管理员的辛苦工作....friendhosting决定从现在开始一直到9月8日对其全球9个数据中心的VPS进行4.5折(优惠55%)大促销。所有VPS基于KVM虚拟,给100M带宽,不限制流量,允许自定义上传ISO...官方网站:https://friendhosting.net比特币、信用卡、PayPal、支付宝、微信、we...

measurestring为你推荐
有道云笔记网页版win10怎么用有道云笔记网页mdmMDM是什么的简称啊?stackoverflowerrorjava.lang.StackOverflowError该如何解决ioeucl-ioe的学位证到底是ucl?还是后面加了一个ioeoncontextmenu鼠标右键很好用,但是左键一点反应也没有,请问是什么原因呢?网关和路由器的区别网关和路由器的区别和联系在mindmanager破解版xmind mac破解版哪个好用webcrackwebcrack4.0tvos智能电视都什么功能被广电封杀了?jdk6我是win7的系统,安装了JDK6,环境配置都正确了。但是安装完没有应用程序啊~
韩国vps俄罗斯美女 l5639 uk2 国内永久免费云服务器 万网优惠券 100m免费空间 双线主机 能外链的相册 申请网站 shuang12 畅行云 双线空间 97rb fatcow websitepanel 免费的加速器 ncp是什么 ubuntu安装教程 服务器操作系统 更多