2015-01-15 60 views
0

我創建了一個自定義.NET MyUserControl,它使用第三方C++庫在使用MyUserControl.Control.HandleMyUserControl上繪製。C#PictureBox透明與C++ lib繪製到UserControl

當我把與BackgroundColor = Transparent子控件(即圖片框)在MyUserControl,圖片框的透明度不工作 - 在PictureBox顯示MyUserControl原始背景顏色 - >彷彿的lib實際繪圖被忽略。

是否有某種方式如何設置picturebox,因此它仍然是透明的MyUserControl

+0

[PictureBox上透明背景標籤]的可能重複(http://stackoverflow.com/questions/9387267/transparent-background-label-over-picturebox) – 2015-01-15 15:56:35

回答

0

該解決方案的工作:

Overlay WinForms controls on DirectX content

雖然有一個警告。 PictureBox實際上用於繪製鼠標的橡皮筋選擇矩形。清除頂部PictureBox,因爲它是透明的,要求使底層MyUserControl無效。只對PictureBox無效就足以在'PictureBox'(當前橡皮筋)中顯示新的畫布圖形,但是這並不能清除舊的畫布圖形(以前的橡皮筋)。

這引入了一個小的閃爍。如果有人有這個想法,請發佈。