使用 C# 创建一个边框正常的窗口,但客户区是透明的(使用透明度键)。在 XP 上,我可以点击它(访问透明区域下方的项目);但是,这不适用于 W7。有没有办法让它适用于 W7(和 XP)?
更新: 感谢大家的快速回复!看起来我的问题的关键是我碰巧使用黄色作为我的透明度键的不幸事实。我希望它在 Visual Studio 中脱颖而出,以便我记得它是透明的;正是这种颜色选择使点击无法正常工作。一旦我更改为灰色的背景色,它就可以正常工作。
使用 C# 创建一个边框正常的窗口,但客户区是透明的(使用透明度键)。在 XP 上,我可以点击它(访问透明区域下方的项目);但是,这不适用于 W7。有没有办法让它适用于 W7(和 XP)?
更新: 感谢大家的快速回复!看起来我的问题的关键是我碰巧使用黄色作为我的透明度键的不幸事实。我希望它在 Visual Studio 中脱颖而出,以便我记得它是透明的;正是这种颜色选择使点击无法正常工作。一旦我更改为灰色的背景色,它就可以正常工作。
根据这篇文章,解决方法是将 TransparencyKey 设置为Gray
this.BackColor = Color.Gray;
this.button1.BackColor = Color.Blue;
this.TransparencyKey = Color.Gray;
this.TransparencyKey = this.BackColor;
这在 Windows 7 中对我来说很好。