我正在创建无边框表单,我想为其添加自定义边框。但是,当我为表单添加背景时,它显示效果不佳,而且不透明。
这就是我想用作边框的内容:
当我将窗体的透明度设置为白色时,阴影消失了,我不知道该怎么做。
最佳答案
有一种方法可以在 WinForms 中使用半透明 (alpha) 图像作为窗体背景,如本文所述:A lovely goldfish desktop pet (using alpha-PNG and GDI+) .
它使用 native 互操作将图像与桌面混合。
另外,查看 UpdateLayeredWindow function (User32.dll)在 pinvoke.net .还有一个如何使用它的示例。
[编辑]
pinvoke.net 上还有一个指向 Mike Swanson's blog article 的链接关于同一主题。它使用与上述链接中描述的代码相同的代码,但它是一个 VS 项目,它完全符合 OP 的要求:以半透明 PNG 图像作为背景的启动窗体。
关于C#无边框窗体的透明边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873157/