3

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

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

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

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

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

我能做些什么?

4

1 回答 1

3

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

截屏:

在此处输入图像描述

单击通过窗口并到达它后面的内容,但是单击按钮 1,将单击按钮。

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

于 2015-10-03T10:34:37.187 回答