我把一个panel放在PictureBox上,虽然panel设置为透明的,可是还是把图片给挡住了

时间:2022-11-16 18:57:14
panel放在别的地方的时候没有这个问题,
或者如何使用panel.BackGroundImage能够像PictureBoix一样可以AutoStretch?
或者有没有类似于VB中的Shape控件?
谢谢

9 个解决方案

#1


up

#2


有人知道吗

#3


可惜

#4


你是怎样设置程透明的,能否说说??

#5


你想做到什么效果

#6


就是把北景色设成透明啊,我想做成下面的效果
http://www.gao35.com/personal/zrsoft/images/ok.jpg
可是总是这种效果
http://www.gao35.com/personal/zrsoft/images/error.jpg

#7


设置为透明后,实际上只能显示父控件的背景,也就是说,该属性设置后,实际上是将父控件(如窗口)的当前位置背景在panle中重新绘制了一遍,如果不相信,你可以先设置窗口的backgroundimage,然后放一个picture,并设置好图片,再在它上面放一个panle,设置背景为透明,你会发现,panle里面显示的是窗口背景的背景。

#8


:::如何使用panel.BackGroundImage能够像PictureBoix一样可以AutoStretch

这个很容易实现

panel.Height = panel.BackGroudImage.Height;
panel.Width = panel.BackGroudImage.Width;

#9


或者按gatr所说的,你将panle设为picture控件的子窗体,这样也可以实现对picture透明

picturebox.Controls.Add(panel); //注意,将Form1.Controls.Add(Panel);移去

#1


up

#2


有人知道吗

#3


可惜

#4


你是怎样设置程透明的,能否说说??

#5


你想做到什么效果

#6


就是把北景色设成透明啊,我想做成下面的效果
http://www.gao35.com/personal/zrsoft/images/ok.jpg
可是总是这种效果
http://www.gao35.com/personal/zrsoft/images/error.jpg

#7


设置为透明后,实际上只能显示父控件的背景,也就是说,该属性设置后,实际上是将父控件(如窗口)的当前位置背景在panle中重新绘制了一遍,如果不相信,你可以先设置窗口的backgroundimage,然后放一个picture,并设置好图片,再在它上面放一个panle,设置背景为透明,你会发现,panle里面显示的是窗口背景的背景。

#8


:::如何使用panel.BackGroundImage能够像PictureBoix一样可以AutoStretch

这个很容易实现

panel.Height = panel.BackGroudImage.Height;
panel.Width = panel.BackGroudImage.Width;

#9


或者按gatr所说的,你将panle设为picture控件的子窗体,这样也可以实现对picture透明

picturebox.Controls.Add(panel); //注意,将Form1.Controls.Add(Panel);移去