繁体   English   中英

PictureBox透明度-无法正常工作

[英]PictureBox transparency - not working properly

我在其上添加了其他PictureBoxes(图钉)的PictureBox(地图)。 (在winforms应用程序上)。 我将图钉背景色设为透明。 每个图钉的父母都是地图。 问题是引脚透明性无法正常工作。 每个图钉都有地图背景。 如果地图背景与图钉背景不同,则图钉的数量超过100个,并且关闭的图钉数量更多。 我也尝试使用面板和标签而不是PictureBox,但是没有成功。 请给我一个解决问题的方法。 谢谢。

好吧,嗯 Windows不是Photoshop。 或Flash。 或Silverlight。 或WPF。

Windows使用非常简单的分层系统,在某些条件下可以实现透明,但是与成熟的分层系统相比,它实际上是一种解决方法。 基本上,当您要透明地渲染图像时,首先请您下方的控件进行渲染,然后再在其上进行渲染。

由于整个层次结构的工作方式,这意味着默认情况下,透明仅在父子关系中起作用-子级可以轻松地将父级渲染为自身的一部分,甚至可以在某些情况下省略渲染其自身的背景。 因此,如果您将别针作为背景,透明性将按预期工作。

但是, PictureBox实际上仅是为显示图片而设计的。 如果您需要使用数百个图钉渲染地图,则几乎可以肯定不希望使用Windows控件来做到这一点。 使用所有者绘制的控件来处理背景和图钉可能会更好地工作。 如果这对于您的用例来说太难了,则可能需要看一下WPF-您可以轻松地将WPF控件嵌入Winforms控件中,而WPF为您提供了很多更好的工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM