如果我设置最顶层窗体的不透明度,则所有子控件都与窗体一样透明。使用transparencyKey时也是如此,所有子控件都具有相同的透明色。
我希望实现它以在表单上进行控制,并且有选择地选择应该继承此属性的内容。即使需要在表单中添加子表单,是否可以执行此操作?
任何帮助/建议都会受到赞赏,因为我找不到任何适合我的解决方案。
答案 0 :(得分:1)
不,这通常是不可能的,因为它不是特定于c#,而是Microsoft Windows的工作方式。
有两种方法可以在Windows上获得适当的透明度:WS_EX_LAYERED和WS_EX_NOREDIRECTIONBITMAP。使用Winforms无法访问这两者并且有充分理由:您必须自己进行任何绘制,包括子控件。
然而,WPF本身支持这一点。