c#中两个picturebox叠加在一起, 我想使上面的picturebox2实现透明效果

下面的picturebox1不透明,叠加在上面的为透明的png格式,我现在将picturebox2的backcolor设置为transparent,png的透明部分显示的... 下面的picturebox1不透明,叠加在上面的为透明的png格式,我现在将picturebox2的backcolor设置为transparent,png的透明部分显示的是窗体颜色,仍不是想要的效果。将picturebox2.parent=picturebox1,picturebox就完全看不到了
请教高手解答!
展开
 我来答
yaobing0687
2011-05-18 · TA获得超过988个赞
知道小有建树答主
回答量:1309
采纳率:0%
帮助的人:899万
展开全部
解决方案:
1.最佳方案:使用GID重新构造一张新的图片来实现叠加的效果,缺点只能使用一个PictureBox来显示
2.一般方法:设置窗体的的透明色属性为你的png透明色,this.TransparencyKey = Color.Red;
确定,窗体上所有的改颜色均透明
3.你试试,说不定可以:不透明的设置为picturebox的BackGroundImage,透明的设置成他的Image
更多追问追答
追问
多谢!
您的第一种方案我已经实现过了,但在我做的系统里上面透明图片应该是不断变化位置的,这种方案灵活性不够,而且不能对其添加特点事件;
您的一般方法我在form_load中用了this.TransparencyKey = Color.Transparent;但没有效果,png的透明部分仍为窗体颜色,不是透明。不知道您是不是这个意思?
第三种是不行的…
多谢您的关心!
追答
第一种方法,可以实现动态绘制,然后利用委托delegate和event实现自定义事件
第二种办法是不行的,那个好像连窗体都会变得透明。所以还是要用第一种办法
durongjian0716
2011-05-18 · 超过18用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:0
展开全部
使用GID重新构造一张新的图片来实现叠加的效果
追问
多谢关心!
这个我已经做过了,即实现水印的效果,但这种方案在我的系统里面会有其他问题不可用!还是多谢了!
呵呵,已经困扰很久了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落水神
2011-05-18 · TA获得超过883个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:179万
展开全部
这样行不行,将backgroungimage设置背景图片,image设置png
追问
谢谢落水神的关心!
我改了以后仍不是透明,只是透明部分即背景成为了下面picturebox的一角的颜色,并没有实现透明效果
还是多谢了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式