在Windows窗体中如何使用透明图片和标签

本文配套源码

昨天一朋友问到Windows窗体中图片透明的问题,刚上网看看了,在CodeProject上看到了这篇文章, 觉得写的不错,再者自己一直想学学翻译技术文章,所以就将其翻译成了中文,希望能给大家带来点帮 助。

申明:初次翻译此类文章,属处女作,难免有不对之处,欢迎大家拍砖指教!^_^

OK ,开始正文……

引言——没有透明度的Windows窗体

如果你制作 一些包括图片和标签的复杂的窗体,你可能会发现:Windows窗体不支持真正的透明。你可能撕裂了你的 头皮了——但仍没有解决!

即使,你在图片或标签的BackColor属性上使用了透明值 来控制,但结果是:你仍然发现不能使其透明。那么,这是为什么呢?为什么明明设置成透明了,却没 有透明呢?到底都发生了些什么呢?

实际上,当你在BackColor属性上设置透明值来控制的时候 ,只是将其背景设置成与父窗体——Windows窗体一样的背景而已,并没有真正的透明!所以 当它们重叠放在一起的时候你仍然会发现它们相互之间并没有透明,如下图所示:


在本文中, 我们将向你展示一个简单的方法来使得标签的后面图片作为背景,并如何使图片和文字真正的变成透明 。

如何制作透明标签

使图片作为背景而标签或文字在其前面进行显示是否真的很容易?

在下面,我们将讲解如何使标签的背景透明。

有二种方法,你可以使用它来很标签的背 景透明(其实有更多的方法可以做到这一点,但是我们只去谈论较为简单些的):

1.通过设 置Panel的BackGroundImage属性,并且将标签Lable放到它的里面

2.将Lable的父窗体设置成 PictureBox(label.Parent = pictureBox)

这样,我们将不需要编写任何的代码,并且我们可 以在设计器里马上看到其透明的效果:

时间: 2024-10-24 09:20:40

在Windows窗体中如何使用透明图片和标签的相关文章

c#窗体-c#windows窗体中多线程问题

问题描述 c#windows窗体中多线程问题 我是要随机在窗体中使某个button的visible为true的,可是老是出现"线程间操作无效: 从不是创建控件"button12"的线程访问它".我是新手,所以请各位大神尽量说得浅显一些. 解决方案 这个我不知道你是不是想在一个线程中控制界面的空间事件啥的,如果是的话,你需要在辅助线程中用invoke(操作控件的方法名,参数)去调用,这样的话就会用主线程去调用该控件了!至于具体怎么用,建议你还是google一下,有很多

在Windows Phone中如何显示GIF图片

话说前几天我一个朋友跟我谈到一个特别的需求,想从Web上下载GIF图片过来然后在Windows phone 上显示.我们都知道Silverlight与Windows Phone都是不支持GIF图像格式的.如果你尝试去下载gif图片然后在Image控件上显示,你将会得到一个异常. 所以我在网络上找到了 ImageTools 库,这是个包含多种图像格式转换器的第三方库,其中就支持针对GIF格式的图像转换. 使用方式: 首先为你的项目添加此库的引用,如下图,我们使用NuGet来获取ImageTools

Windows 10中怎么快速把图片转为PDF格式?

1.在win10系统找到要转换在pdf格式的图片,然后选中并右击选择"打印"如下: 2.在打开界面我们选择"Microsoft Print to PDF打印机"然后点击"打印"(这个是不是打印输出,而转换格式了): 3.然后会提示 保存,命名后,直接保存即可,默认路径在此电脑---文档中: 4.保存后,我们会看到有一个PDF文件了. 在打印时有一个地方要注意,就是我们保存时的文件拓展名了,如果不填写拓展名我们可以在文件类型选择pdf格式即可.

如何在C#的Windows窗体中调用单机版的地图定位软件?

问题描述 我想知道C#中能够调用的单机版地图软件有哪些?还有利用程序该如何调用?望各位大神指点一二,急用啊! 解决方案 解决方案二:只是想打开EXE就用process.start()如果是DLL就用反射.解决方案三:C#可以直接实现地图功能arcgis

从在 Internet Explorer 中使用 Windows 窗体控件开始谈Smart Client

client|window|控件 首先引用Microsoft Windows 窗体快速入门教程上的文章"在 Internet Explorer 中使用 Windows 窗体控件":(如果引用的一些信息无法正常显示,请直接上面上的链接查看) 本主题描述如何在 Internet Explorer (IE) 内成功地执行 Windows 窗体控件.IE 内的 Windows 窗体控件无需用户提示即可激活,它不要求注册,而且利用公共语言运行库 (CLR) 代码访问安全性. 在 Internet

J2ME手机开发中的透明图片处理

在开发J2ME手机程序的时候,尤其是在开发游戏的时候,透明图片几乎是一种必然的需求,但是在游戏开发中我们会采用Sprite精灵来做图形元素的绘制,而这些图片素材可能都是来自于资源中的文件,这些文件如果采用PNG等支持透明设置的格式的话,透明的处理就会被精灵类自动实现,不需要我们特别处理了.如果遇到一些特殊需求,比如某些图片可能需要通过程序来绘制,或者开发者希望用程序来绘制,那么这时候自己绘制的图片如何被透明地绘制在Canvas中呢? 透明图片的绘制在J2ME中不是通过Graphics的方法调用完

在C#中,在windows窗体控件中添加了个windows media player 播放器控件,怎样可以选择哪一首旧播放哪一首??

问题描述 在windows窗体中还有个listview控件显示从数据库显示的歌曲名称等信息,在listview控件中显示歌曲列表,并设置了右键快捷播放按钮,怎样可以选择一首歌就播放哪首歌?歌曲从数据库查询得到歌名等信息,添加到listview控件中,在里面显示歌曲列表.然后设置了个右键播放快捷键,选中一首个旧播放它.怎么绑定选择那首歌旧播放哪首歌.privatevoid播放ToolStripMenuItem_Click(objectsender,EventArgse){stringpath=En

asp.net中windows窗体

问题描述 如何在asp.net中windows窗体中操作visio 解决方案 解决方案二:.netframework有封装好的类库Microsoft.Office.Interop.Visio百度一下,操作方法很多的.另外,asp.net中windows窗体,这个表达很奇特:-)

C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法_C#教程

本文实例讲述了C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法.分享给大家供大家参考,具体如下: 在Winform中如果将一个透明图片放在窗体上能正常显示透明,但是如果将该图片放在另一个控件上会导致不能显示透明效果. 解决这种情况,可以采取在控件上使用GDI+绘画出透明图片. 这里我们就以一个pictureBox2控件上面重叠一张png透明图片为例: 我们只需要给pictureBox2控件添加Paint事件,然后对png透明图片进行绘制即可,代码如下: private voi