其中包含可见的可单击控件的透明形式

问题描述 投票:2回答:1

我正在尝试在win8和winforms中使鼠标透明的表单,其中包含可单击的控件。

我可以使用此代码使表单鼠标透明

int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);

(在Win8上,WndProc方法不起作用)

但是当我使窗体鼠标透明时,此窗体中包含的控件也是鼠标透明的

我该怎么办?

c# winforms windows-8 windows-8.1 setwindowlong
1个回答
3
投票

您可以创建一个表单并将BackColorTransparencyKey属性都设置为Color.Magenta

屏幕截图:

enter image description here

单击通过窗口并到达其后的窗口,但是单击按钮1时,将单击按钮。

注意:该技巧适用于某些颜色,例如,如果您使用Color.Red,它将是透明的,但可以处理单击,但是使用洋红色,窗体也将是鼠标透明的。

© www.soinside.com 2019 - 2024. All rights reserved.