Wczoraj udało się dodać przezroczystość do Labeli. Teraz fajnie by było, gdyby jeszcze obrazy w PictureBox’ach zachowywały przezroczystość zapisaną np. w plikach PNG. Oczywiście standardowo Visual Studio olewa całkowicie wszystko co jest związane z przezroczystością. Trzeba stworzyć swoją nową, ulepszoną wersję PictureBox’a. MSND Library ma nawet wpis na ten temat pt. „How to: Draw Images with Transparency„. Przykładowy kod można użyć do stworzonej wczoraj klasy TransparentLabel.
I tak, dodajemy do niej tylko obraz który ma się wyświetlać:
public Bitmap myimage { get; set; }
a następnie zmieniamy lekko OnPaint: