你知道通过使用 C# 中的 Parent 方法可以很容易地设置放置在 WinForm 中其他控件顶部的控件的透明背景,例如:
LabelText.Parent = pictureBox1;
但它不适用于 Windows Mobile 编程。我想以另一种方式做到这一点。
我想将标签的背景设置为透明,放置在图片框上。在上图中,标签的背面颜色已设置为透明,但它显示为透明的白色。
你知道通过使用 C# 中的 Parent 方法可以很容易地设置放置在 WinForm 中其他控件顶部的控件的透明背景,例如:
LabelText.Parent = pictureBox1;
但它不适用于 Windows Mobile 编程。我想以另一种方式做到这一点。
我想将标签的背景设置为透明,放置在图片框上。在上图中,标签的背面颜色已设置为透明,但它显示为透明的白色。
您可以通过覆盖控件的 Windows 样式标志来获得您在 .NET 桌面版本上寻找的那种透明度。您将覆盖 CreateParams 并打开 WS_EX_TRANSPARENT。
然而,这在 CF 上不可用。简单的解决方案是只覆盖 PictureBox 的 Paint 事件并使用 Graphics.DrawText() 绘制文本。额外的好处是这比 Label 控件便宜很多。
Winforms 没有真正的透明度。有一些虚假透明度的助手(如 BackgroundImage 等),但它不是很强大。
查看 CodePlex 上的Alpha Mobile Controls项目。它应该可以解决您的问题。