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,

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

ParkinHost:俄罗斯离岸主机,抗投诉VPS,200Mbps带宽/莫斯科CN2线路/不限流量/无视DMCA/55折促销26.4欧元 /年起

外贸主机哪家好?抗投诉VPS哪家好?无视DMCA。ParkinHost今年还没有搞过促销,这次parkinhost俄罗斯机房上新服务器,母机采用2个E5-2680v3处理器、128G内存、RAID10硬盘、2Gbps上行线路。具体到VPS全部200Mbps带宽,除了最便宜的套餐限制流量之外,其他的全部是无限流量VPS。ParkinHost,成立于 2013 年,印度主机商,隶属于 DiggDigi...

measurestring为你推荐
strstr编程 StrStr是什么东东?stackoverflowerrorjava.lang.StackOverflowError错误元宝网下载的手机元宝网软件是不是上不去啊?开票系统怎样开普通发票系统附清单索引超出了数组界限索引超出了数组界限rownumbersql server 2005中row_number怎么用丁奇赛尔号丁奇技能表,带等级,刷什么学习力好?什么是SOA什么是cookies 有什么作用优众网一淘网是淘宝客吗?有什么区别吗菜霸电视剧《你是我的生命》演员表
天津虚拟主机 新通用顶级域名 草根过期域名 linode代购 12306抢票攻略 贵州电信宽带测速 mysql主机 php空间购买 能外链的相册 上海电信测速网站 数据库空间 论坛主机 登陆qq空间 博客域名 中美互联网论坛 cdn加速技术 标准机柜 建站行业 iptables 瓦工工资 更多