C# winform 编程 控件背景透明问题
窗体的背景图片是用paint事件重绘的,然后我重写了一个ListView的控件,把控背景设为Transparent,运行的时候发现控件的背景是白色的(窗体背景是白色,如果...
窗体的背景图片是用paint事件重绘的,然后我重写了一个ListView的控件,把控背景设为Transparent,运行的时候发现控件的背景是白色的(窗体背景是白色,如果设为透明的话,会是穿透效果。)
展开
7个回答
展开全部
方法1、要实现C# WinForm中的控件与背景的透明,可以通过设置控件的BackColor属性为Transparent,同时设置其父控件。
方法2、 现有一PictureBox控件,十多个Label以及Button,那么只将这些Label和Button放入Panel中。同时在Form_Load事件中加入如下代码即可实现背景透明:
this.picturebox1.SendToBack();//将背景图片放到最下面
this.panel1.BackColor = Color.Transparent;//将Panel设为透明
this.panel1.Parent = this.picturebox1;//将panel父控件设为背景图片控件
this.panel1.BringToFront();//将panel放在前面
方法2、 现有一PictureBox控件,十多个Label以及Button,那么只将这些Label和Button放入Panel中。同时在Form_Load事件中加入如下代码即可实现背景透明:
this.picturebox1.SendToBack();//将背景图片放到最下面
this.panel1.BackColor = Color.Transparent;//将Panel设为透明
this.panel1.Parent = this.picturebox1;//将panel父控件设为背景图片控件
this.panel1.BringToFront();//将panel放在前面
展开全部
1、新建工程
2、设置窗体属性TransparentKey为窗体背景色
3、在窗体上添加ListView控件
4、为ListView手动添加少量 Column和Item
5、设置部分Items的背景色为白色以外的颜色
然后运行,查看效果
利用TransparentKey可以将多画面图片连续绘制到窗体上以形成动画
2、设置窗体属性TransparentKey为窗体背景色
3、在窗体上添加ListView控件
4、为ListView手动添加少量 Column和Item
5、设置部分Items的背景色为白色以外的颜色
然后运行,查看效果
利用TransparentKey可以将多画面图片连续绘制到窗体上以形成动画
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新控件得继承父类的属性,把父类的属性也设为Transparent
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
隐约记得有个属性是Opacity在窗体的属性中.设置为0%就可以了吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
控件是相对窗体透明的,你把窗体的Transparent设为和背景相同颜色试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询