我正在创建无边框形式,我想向其添加自定义边框。但是,当我为表单添加背景时,它不能很好地显示,并且不透明。无边界形式的C#透明边框
这就是我要为我的境界:
当我设置窗体的透明度,白色的影子消失了,我不知道做什么用什么。
我正在创建无边框形式,我想向其添加自定义边框。但是,当我为表单添加背景时,它不能很好地显示,并且不透明。无边界形式的C#透明边框
这就是我要为我的境界:
当我设置窗体的透明度,白色的影子消失了,我不知道做什么用什么。
好吧,我欺骗了一下,但是我所做的只是重写CreateParams来绘制阴影,即使它是无边框窗口。它确实是我想要的,所以我随它去了。
感谢您的帮助!
有一种方法可以在WinForms中使用半透明(alpha)图像作为窗体背景,如本文所述:A lovely goldfish desktop pet (using alpha-PNG and GDI+)。
它使用本机互操作将图像与桌面混合。
此外,检查出UpdateLayeredWindow function (User32.dll)在pinvoke.net。还有一个如何使用它的例子。
[编辑]
还有上pinvoke.net到Mike Swanson's blog article大约相同的受试者的链接。它使用与上述链接中描述的相同的代码,但它是一个VS项目,它完全符合OP的要求:以半透明PNG图像作为背景的飞溅形式。
你使用WPF还是WinForms? – ZoolWay 2011-05-03 17:16:07
WinForms。我认为这将是一个在WPF中做eaiser? – SaintHUN 2011-05-03 17:18:20
对于透明颜色,使用像[Fuchsia](http://msdn.microsoft.com/en-us/library/system.drawing.color.fuchsia.aspx)这样的颜色可能会有更好的运气(并且更常用) 。 – 2011-05-03 17:22:13