bird

 

窗体全部透明,控件不透明

 
设置窗体的TransparencyKey 属性可以设置窗体全部透明,控件不透明,但这种只相当与opacity 100%的情况。
1.把窗体的背景色设成控件上没有的颜色(一定要和所有控件可能出现的颜色不一样哦,有一点一样的都会被透明掉),
2.然后将窗体的TransparencyKey属性设成和窗体背景色一样的颜色.

窗口上所有与TransparencyKey属性设的颜色相同的颜色都会透明掉,
因为只有窗体的背景色是与TransparencyKey属性设的颜色相同的,就实现了窗体透明窗体上控件不透明的效果了。

不用编程序的,在属性里设置一下就可以了。
如果你要连窗口的边框都透明,可以把窗体的FormBorderStyle属性设为None,大概思想就是这样吧。

//以上方法在VS2005中测试通过。
//晕,楼主在问的时候就说了要透明,现在又说半透明
还一定要用opacity,他就是面向窗口和窗口上控件的,怎么可以不对控件作用呢?
也许可以重载这个属性,把对控件处理这部分去掉。

posted on 2007-08-24 12:23  鸟人  阅读(680)  评论(0编辑  收藏  举报

导航