2015-01-15 61 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'(当前橡皮筋)中显示新的画布图形,但是这并不能清除旧的画布图形(以前的橡皮筋)。

这引入了一个小的闪烁。如果有人有这个想法,请发布。