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...

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

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

C# Winform实现炫酷的透明动画界面(转载)

http://www.cnblogs.com/Joetao/articles/4631868.html 做过.NET Winform窗体美化的人应该都很熟悉UpdateLayeredWind...

C# Winform 实现自定义半透明loading加载遮罩层

在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下...

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

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

C#实现Winform自定义半透明遮罩层

在网页中通过div+css实现半透明效果不难,今天我们看看一种在winfrom中实现的方法: 效果图如下,正常时: 显示遮罩层时: 自定义遮罩层控件的源码如下: ...

C#实现Winform自定义半透明遮罩层

http://www.soaspx.com/dotnet/csharp/csharp_20120707_9387.html 在网页中通过div+css实现半透明效果不难,今天我们看看...

【转】C#实现Winform自定义半透明遮罩层

转自:http://www.cnblogs.com/JuneZhang/archive/2012/07/06/2579215.html 在网页中通过div+css实现半透明效果不难,今天我们...

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

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

C#实现透明背景的垂直Label控件

本文描述如何在c#中创建一个透明背景色的垂直label用户控件。该用户控件允许你从底部或顶部开始绘制文字。 本文是Vertical Label Control in VB.NET的延续。其实,更...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# Winform 变相实现背景透明
举报原因:
原因补充:

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