惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
P
Proofpoint News Feed
L
LangChain Blog
博客园 - Franky
美团技术团队
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
小众软件
小众软件
Y
Y Combinator Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News

博客园 - 温伟鹏

Docker安装及换源 Team Explorer 2008连接TFS2010提示无法连接的解决办法 C# 调用 Google Earth Com API开发(四) C# 调用 Google Earth Com API开发(三) 安装IE8正式版以后VS无法创建VC++智能设备项目的解决方法 C# 调用 Google Earth Com API开发(二) C#调用GoogleEarth COM API开发(一) 贡献自绘CheckBox代码 自绘进度条的其余代码… 好久没上博客园了,给大家送上一个自绘进度条的小例子 夜宵... 天气暴热,心情不爽,股市反弹... ... 测试Live Writer Beta2功能 Live Writer Beta2发布 给老爸买了摄像机 在NSee中添加缩略图预览和属性查看功能 NSee截图 NSee诞生 建好了新的博客
自定义透明的按钮(图)
温伟鹏 · 2007-04-13 · via 博客园 - 温伟鹏

又经过一个不眠之夜,终于写完了一个支持透明显示的按钮控件和Panel控件。将它们的形状弄得稍微好看一点,而且支持换肤(就是设置皮肤图片了。:-))

1、控件透明化设置

要在C#中实现控件的透明化,需要使用SetStyle函数进行设置ControlStyles.SupportsTransparentBackColor为true

2、自绘控件时打开双缓冲

为了实现双缓冲,同样需要SetStyle函数,不过这里不要看你是在.NET 1.1下还是.NET 2.0环境之下使用了,如果是.NET 1.1,设置方法如下:

            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.DoubleBuffer, true);

如果是在.NET 2.0下面,设置方法跟其大同小异

            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);

这里只有最后一次调用SetStyle时用到的参数名不同,效果确实一样的。

 以下图片是两个控件的效果图(设计阶段),注意其中按钮上出现了绘图错误,这不是出现在运行阶段的错误,可能是我的编辑器有问题。