C# WinForm 用户控件背景透明问题,如图。
如图所示,当两个用户空间叠加时会发现左侧用户控件的边框把背景图透上来了,而不是两个控件相互叠加的效果。现在的条件:用户控件里只有一个picturebox,它的image是...
如图所示,当两个用户空间叠加时会发现左侧用户控件的边框把背景图透上来了,而不是两个控件相互叠加的效果。
现在的条件:用户控件里只有一个picturebox ,它的image是png格式的图片,用户控件的背景设置为transparent。 展开
现在的条件:用户控件里只有一个picturebox ,它的image是png格式的图片,用户控件的背景设置为transparent。 展开
1个回答
展开全部
这个与是否transparent没有关系,你要理解Windows的桌面是怎么绘制的。
很多人都以为,Windows的桌面是像真正的桌子那样:一个个程序界面就像桌子上平放的书,叠加的时候,一本书会“遮”住另一本书的一部分。
但事实的情况是这样的:Windows的桌面更像一块黑板,当一个窗体遮住另一个窗体的时候,下面的窗体被遮住这一部分是“没有”的,当你选中下面窗体的时候,Windows再把被“遮住”的区域画到屏幕上。你或许见过当Windows因为内存或CPU耗尽或别的原因而卡掉时,你关闭一个窗口而产生的大块白色区域,那就是Windows未来得及绘制的部分。
所以,你的想法如果想实现,必须自己获取下面的窗体图片,添加到你的窗体上去,自己绘制叠加效果。
很多人都以为,Windows的桌面是像真正的桌子那样:一个个程序界面就像桌子上平放的书,叠加的时候,一本书会“遮”住另一本书的一部分。
但事实的情况是这样的:Windows的桌面更像一块黑板,当一个窗体遮住另一个窗体的时候,下面的窗体被遮住这一部分是“没有”的,当你选中下面窗体的时候,Windows再把被“遮住”的区域画到屏幕上。你或许见过当Windows因为内存或CPU耗尽或别的原因而卡掉时,你关闭一个窗口而产生的大块白色区域,那就是Windows未来得及绘制的部分。
所以,你的想法如果想实现,必须自己获取下面的窗体图片,添加到你的窗体上去,自己绘制叠加效果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询