如何用C#写一个透明控件?(WinForm程序)

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:28:17
我在一个panel里放了一个控件A,我还想在这个panel里放一个透明的控件B,然后B控件执行BringToFront方法后希望仍能看见它后面的A控件,请问如何做这个透明的B控件呢?谢谢!
BackColor我试过了,我让它等于transparent,但是达不到透明的效果,只是显示了父控件的背景色,所以大家帮帮忙!

首先先从System.Windows.Forms.Panel 继承一个自定义控件,然后在控件的构造函数中添加下面的代码 :
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.BackColor = Color.Transparent;

其中调用SetStyle函数进行设置ControlStyles.SupportsTransparentBackColor为true

然后设置控件的背景颜色为透明Color.Transparent.

把设计好的控件添加到WINFORM中来,发现自定义控件可以在其他控件上面时可以变成透明,但是如果放在图片控件上面却没有透明效果,为了这个问题,研究了半天,后来终于发现只需要简单的设置一下控件的parent属性为图片控件即可.代码如下 :

Panel21.Parent = pictureBox1;

CuteEditor 6.0 在线HTML编辑器的领航者
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=144183
ComponentArt.Charting.WebChart.dll
http://bbs.topsage.com/dispbbs.asp?boardID=123&ID=144386
ComponentArt.Web.UI 2007.2源代码+实例+DLL
如何用C#写一个透明控件?(WinForm程序) 写了一个C#程序,如何用VS2005编译 如何用sql2000和asp.net写一个简单的计数器控件 如何用C#建立一个DLL文件 asp.net/c#问题请教,如何用repeater控件列出数据库中的各项目纪录,每项记录前加一个checkbox控件 如何用C#写一个用户名和密码的登录验证 透明flash如何用 C# 如何用参数传递写增删改查 如何用C#在ListView控件中右键点击某一项能够实现上下文菜单 如何用vb做一个透明的textbox框?