创建一个自定义控件程序集,并修改父类为Panle,添加如下代码:

public partial class OpaqueLayer : Panel
{
private Color transparentBC = Color.SkyBlue; [Description("设置透明背景颜色")]
public Color TransparentBC
{
get
{
return transparentBC;
}
set
{
transparentBC = value;
this.Invalidate();
}
} //透明度
private int alpha = ; [Description("设置透明度(0-255)")]
public int Alpha
{
get { return alpha; }
set
{
if (value < )
{
value = ;
}
else if (value > )
{
value = ;
} alpha = value;
this.Invalidate();
}
} public OpaqueLayer()
{
InitializeComponent();
//设置参数,使支持半透明、缓存、自行绘制
SetStyle(ControlStyles.Opaque | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
} /// <summary>
/// 自定义绘制窗体
/// </summary>
/// <param name="e"></param>
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics; //获得绘图面板
Color drawColor = Color.FromArgb(Alpha, TransparentBC);
SolidBrush backColorBrush = new SolidBrush(drawColor);
g.FillRectangle(backColorBrush, , , Width, Height);//绘制半透明
} //该参数封装创建控件时所需的信息,必须重写该参数,以支持透明
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x20; // 开启 WS_EX_TRANSPARENT,使控件支持透明
return cp;
}
}
}

最新文章

  1. 2014 Multi-University Training Contest 9#11
  2. Redis 3.2.100 Windows 32位下载
  3. 13年省赛-B题-连通分量
  4. Junit单元测试学习笔记三
  5. 利用CSS3打造一组质感细腻丝滑的按钮
  6. .net程序员求职简历
  7. Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File &amp;quot;/pageFoo
  8. UML类图简介
  9. 详解 OneAlert 排班可以帮你做什么
  10. word2vec原理(一) CBOW与Skip-Gram模型基础——转载自刘建平Pinard
  11. as3.0视频的快进有拖动条
  12. NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办
  13. Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).
  14. Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用
  15. Ubuntu安装Nginx 问题以及解决办法
  16. pandas 的Series 里经常会出现DatetimeIndex这个类
  17. xml获取属性值的方法
  18. MVC 控制器中直接访问url 的方式
  19. AOJ.859 地毯填补问题 (递归与分治)
  20. SOE不能进入断点调试

热门文章

  1. linux下mysql的安装配置
  2. 图像特征与描述子(直方图, 聚类, 边缘检测, 兴趣点/关键点, Harris角点, 斑点(Blob), SIFI, 纹理特征)
  3. 【常见CPU架构对比】维基百科
  4. 对avalon的类名操作进行升级
  5. docker 网络配置路由转发
  6. MonoBehaviour.OnValidate
  7. CHEMISTS DISCOVER A SAFE, GREEN METHOD TO PROCESS RED PHOSPHORUS
  8. ORA-01795: maximum number of expressions in a list is 1000
  9. Linux汇编与C互相调用
  10. 在 macOS 中激活 Astash Professional