C# Winform 变相实现背景透明

原创 2016年08月30日 14:51:36

C# Winform 变相实现背景透明

本人在写一个C# Winform项目时,窗体背景使用了背景图,但是窗体上的部分控件不支持背景透明,这样显得有些不好看,然后在Google时发现如下变相实现背景透明的方法。

但是有几点使用要求:
A. 主窗体或父容器等使用了背景图
B. 需要透明的控件支持背景图
C. 可能还有其他要求,暂未发现


实现代码

// 以下代码中,frm为主窗体,lv为需要透明的空间

// 封装一个图像对象,该对象即主窗体或父容器背景图片
Bitmap bmp = new Bitmap(this.BackgroundImage, this.Width, this.Height);

// 绘制矩形,定义你需要截取的图像起始位置和宽高
Rectangle r = new Rectangle(lv.Left, lv.Top, lv.Width, lv.Height);

// 按矩形尺寸和起始位置截取bm的一部分
bmp = bmp.Clone(r, System.Drawing.Imaging.PixelFormat.Undefined);

// 把截取到的图片设置为需要透明的控件背景,达到与主窗体背景完美契合的效果
lv.BackgroundImage = bmp;

如果是不支持背景透明的控件的话,那就用GDI+吧

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

背景透明的ListBox(C#.WinForm)

不知道大家有没有遇到过这种问题,C#中希望搞一个背景透明的ListBox,且文本居中,却发现VS里面自带的ListBox控件不支持背景透明,怎么办? 我们可以做一个自定义控件,重载里面的OnPain...
  • bdstjk
  • bdstjk
  • 2011-11-24 13:18
  • 8119

C# WINFORM 使用鼠标钩子实现透明窗体桌面画图

接上次关于在C# WINFORM下制作透明窗体在系统桌面上画图方案是通过两个透明窗体实现的,现在讨论一下使用API底层鼠标钩子+透明窗体实现方法,这种实现方法比效麻烦,需要重新监听实现鼠标操作,在这儿...

WinCE5.0下实现透明背景按钮(.net C#) 个人实验

参考了WinCE5.0下实现透明背景按钮(.net C#)这篇文章后,本着不模仿的态度去做,结果发现还是原先作者的思路比较好,自己的做法 虽然比较简单当时图片得做很多张,效果其实也差不多,而且可维护...

WinCE5.0下实现透明背景按钮(.net C#)

标题: 【技术备档】在WinCE5.0下实现透明背景按钮(.net C#) - 源姜 2010-03-18 16:27 阅读:2183 - 评论:5 查看评论 发表评论 返回 问题: ...

Winform----自定义控件之背景半透明遮罩加载控件

先贴运行效果图,源码点击这里下载 1.新建自定义控件 2.实现功能 namespace UserControlLib { [ToolboxBitmap(typeof(ZhLoading)...

winform panel控件背景透明

  • 2014-07-24 15:09
  • 937KB
  • 下载

C#WinForm中支持透明的TextBox控件

C#WinForm中支持透明的TextBox控件

C# WINFORM 制作真正的 透明窗体 桌面画图 的完美解决方案

通过长时间研究终于找到关于在C# WINFORM下制作真正的透明窗体在系统桌面上画图的完美解决方案; 我的解决方案为两层透明窗体重叠,一层透明窗体showForm显示图像(TransparencyKe...

C# Winform控件贴透明png图片遇到的问题

C# winform两个控件贴png透明图片后,两个控件有重叠部分,重叠部分不透明。
  • gxtdjh
  • gxtdjh
  • 2011-03-01 16:18
  • 10215
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)