C# 模仿360安全卫士玻璃按钮 修正版(源码)
效果图
一 准备工作
两张透明的png图片(尺寸73 x 81),一张用于鼠标进入控件时显示,一张用于鼠标单击控件时显示。
新建自定义控件,在构造函数中添加代码
public GlassButton()
{
SetStyle(ControlStyles.DoubleBuffer, true); //双缓冲防止重绘时闪烁
SetStyle(ControlStyles.AllPaintingInWmPaint, true); //忽略WM_ERASEBKGND 窗口消息减少闪烁
SetStyle(ControlStyles.UserPaint, true); //自定义绘制控件内容
SetStyle(ControlStyles.SupportsTransparentBackColor, true); //模拟透明
SetStyle(ControlStyles.Selectable, true); //接收焦点
Size = new Size(73, 81); //初始大小
Font = new Font("微软雅黑", 9); //控件字体
}
新建枚举,用来表示当前控件的状态
///<summary>
/// 控件状态
///</summary>
public enum State
{
///<summary>
/// 无
///</summary>
Normal = 0,
///<summary>
/// 获得焦点
///</summary>
Focused = 1,
///<summary>
/// 失去焦点
///</summary>
LostFocused = 2,
///<summary>
/// 鼠标指针进入控件
///</summary>
MouseEnter = 3
}
二 制作方法
比较简单,在这里只贴一下代码,大家一看就明白
属性
///<summary>
&nb
补充:综合编程 , 安全编程 ,