将标签的背景设置为透明

时间:2009-10-21 04:43:43

标签: windows-mobile compact-framework

我已将图片作为表单的背景。

    protected override void OnPaintBackground(PaintEventArgs e)
    {

        e.Graphics.DrawImage(bmp, 0, 0); 
    }

之后我在表单上放置了一个标签,并将后面颜色设置为Transparent,但它不起作用。如何获得标签backcolor的透明度

1 个答案:

答案 0 :(得分:4)

由于使用了System.Windows.Forms不支持的功能,以前的答案在.NET CF上不起作用。在Windows Mobile中,窗口(或控件)无法具有透明背景,因此忽略将背景颜色设置为透明。

对于.NET CF,通常必须在父控件或窗口之上绘制自己的文本。也许我最喜欢的例子最初是由Alex Yakhnin在这篇博客上提出的 - http://blog.opennetcf.com/ayakhnin/PermaLink,guid,34221459-8db8-41ef-91c7-5514eade8fca.aspx

理论上,您在表单上放置了一个标准的标签控件(这样您就可以正确地调整它的大小和位置等),然后将它的Visible属性设置为false。然后,您可以将代码添加到父控件或表单的OnPaint事件处理程序,以根据隐藏标签控件中存在的位置,大小和字体信息绘制等效的文本片段。