使控件的背景透明

把 UserControl 对象的 BackStyle 属性置为 Transparent,可以使控件后面的对象成为可见的,它们通过 UserControl 表面上的各个子控件之间的间隙显露出来。

UserControl's surface ,其 BackStyle 属性也被设置成透明。

the BackColor and Picture properties of the UserControl are ignored。

具有透明背景的位图

如果将位图指定给 UserControl 的 MaskPicture 属性,并设置 UserControl 的 MaskColor 属性等于位图的北京色,则 Visual Basic 将沿着不等于 MaskColor 的位图的部分剪裁,甚至在这些部分不连续时也如此。

您可以在位图的可视表面上绘制,要使用 UserControl 对象的图形方法,例如:Line、Circle、和 PaintPicture。Visual Basic 将绘图剪裁成可见的位图部分。

注意 对图象类型支持这一功能,比如BMP、 GIF、JPEG、和 DIB。对 Windows 的元文件、图标或游标不支持这一功能。

具有透明背景的标签

如果 UserControl 上某个 Label 子控件的 BackStyle 属性被置为 Transparent,并且其 Font 属性被指定为 TrueType 字体,则 Visual Basic 将对字体进行裁剪。另外,落在字母之间的鼠标单击事件将被传给容器。

执行的考虑

把 BackStyle 置为 Transparent 可能会影响控件的性能。Visual Basic 必须大量剪裁一正确构筑背景,如果控件使用:

为了改善控件的性能,可以创建所谓的“轻量”的用户控件。如果要创建的控件不仅是轻量的,而且是透明的,那么创建规则将与常规的控件有所不同。有关轻量用户控件的深入讨论,请参阅本章后面的“创建轻量控件”。

注意 放在有透明背景的容器上的控件是不可见的。如果您希望自己的控件成为控件容器,那么不要使它的背景成为透明的。