C# PPC编程中的透明后台控件

C# PPC编程中的透明后台控件,c#,windows-mobile,pocketpc,C#,Windows Mobile,Pocketpc,您知道,在WinForm中,通过使用C#中的父方法,可以很容易地将控件的透明背景设置在其他控件的顶部,如: 但它在Windows Mobile编程中不起作用。我认为还有其他方法可以做到这一点。 我想将标签的背景设置为透明,它放在picturebox上。在上图中,标签的背景色已设置为透明,但它显示的是透明的白色instade。通过覆盖控件的Windows样式标志,您可以在桌面版的.NET上获得所需的透明度。您将覆盖CreateParams并启用WS_EX_TRANSPARENT 但这在CF上不可

您知道,在WinForm中,通过使用C#中的父方法,可以很容易地将控件的透明背景设置在其他控件的顶部,如:

但它在Windows Mobile编程中不起作用。我认为还有其他方法可以做到这一点。


我想将标签的背景设置为透明,它放在picturebox上。在上图中,标签的背景色已设置为透明,但它显示的是透明的白色instade。

通过覆盖控件的Windows样式标志,您可以在桌面版的.NET上获得所需的透明度。您将覆盖CreateParams并启用WS_EX_TRANSPARENT


但这在CF上不可用。简单的解决方案是只覆盖PictureBox的Paint事件,并使用Graphics.DrawText()绘制文本。还有一个额外的好处,这比标签控件便宜得多。

Winforms没有真正的透明度。有一些帮助虚假透明度(如背景图像等),但它不是很强大


看看CodePlex上的项目。它应该可以解决您的问题。

只是好奇,您能通过.Net CF上的p/invoke将WS_EX_设置为透明吗?@Jon-操作系统也不支持样式位。请访问:最佳开发工具*
        LabelText.Parent = pictureBox1;