当前位置:编程学习 > C#/ASP.NET >>

WinForm实现半透明窗体


如上图,我有一张半透明PNG图片,我用它做窗体的背景图片,怎么才能让窗体和我图片一样为半透明的呢?然后往上面放控件不受影响? --------------------编程问答-------------------- 图片没显示出来。
窗体不是有个Opacity属性 设置百分比 --------------------编程问答--------------------
引用 1 楼 todayclock 的回复:
图片没显示出来。
窗体不是有个Opacity属性 设置百分比

这个估计不是你要的效果。
如果控件的颜色和背景一样,你要设置控件背景透明。BackColor :Transparent
 如果控件较多 ,你可以在窗体上放个panel,让panel填充窗体,也就是Dock:Fill  
在设置 panel的BackColor :Transparent  这样你放到panel上控件都是透明的。
--------------------编程问答-------------------- 实现半透明方法比较多,前面提到的设置窗体属性是一种较简单的办法,但是效果也是最不理想的;另外网上还有人用GDI+逐像素绘制,实现了窗体半透明,效果不错,代码是公开的,你可以去找找;目前最理想的,是WPF,不过掌握起来较困难,运行起来需要相对更多的资源。 --------------------编程问答-------------------- 要实现的效果/upload/20131225/48b0b518a49578da48edbc6c.gif
2楼思路实现的效果
http://hiphotos.baidu.com/%CA%A7%C2%E4%CB%EA%D4%C2/pic/item/c06608c7dbbf5cb2d00060fe.jpg
不是半透明 --------------------编程问答-------------------- 试试先将窗口的背景透明,然后设置背景图片。
让窗口透明:
this.TransparencyKey = Color.Red;
this.BackColor = Color.Red; --------------------编程问答--------------------
引用 4 楼 love33ya 的回复:
要实现的效果http://hiphotos.baidu.com/%CA%A7%C2%E4%CB%EA%D4%

你中间放的什么? panel? --------------------编程问答-------------------- 如果lz不是想要这种效果
当我理解错了。。
你也可以用GDI+自己画 --------------------编程问答--------------------
引用 5 楼 gabriyer 的回复:
试试先将窗口的背景透明,然后设置背景图片。
让窗口透明:
this.TransparencyKey = Color.Red;
this.BackColor = Color.Red;

+1 --------------------编程问答-------------------- 最近创建了关于c#学习或者其他语言学习的QQ群172954299。欢迎加入。这里可以讨论很多学习问题;没有拘束感。欢迎大家加入。有解决不了的问题可以大家一起讨论。
--------------------编程问答-------------------- --------------------编程问答-------------------- 会不会是因为窗口上的控件是另外定义的类,或是托管代码,所以窗口的Opacity属性改变不会影响到控件? --------------------编程问答--------------------
引用 5 楼 gabriyer 的回复:
试试先将窗口的背景透明,然后设置背景图片。
让窗口透明:
this.TransparencyKey = Color.Red;
this.BackColor = Color.Red;

个人观点赞同。 --------------------编程问答--------------------
引用 12 楼 krenyelang 的回复:
引用 5 楼 gabriyer 的回复:
试试先将窗口的背景透明,然后设置背景图片。
让窗口透明:
this.TransparencyKey = Color.Red;
this.BackColor = Color.Red;

个人观点赞同。

up --------------------编程问答-------------------- 成功了,谢谢:

试试先将窗口的背景透明,然后设置背景图片。
让窗口透明:
this.TransparencyKey = Color.Red;
this.BackColor = Color.Red;

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,