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

推荐订阅源

C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
V
Visual Studio Blog
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
D
Docker
MyScale Blog
MyScale Blog
小众软件
小众软件
云风的 BLOG
云风的 BLOG
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】

博客园 - 温伟鹏

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时用到的参数名不同,效果确实一样的。

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