簡體   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