我正在尝试在win8和winforms中使鼠标透明的表单,其中包含可单击的控件。
我可以使用此代码使表单鼠标透明
int initialStyle = GetWindowLong(this.Handle, -20); SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
(在Win8上,WndProc方法不起作用)
但是当我使窗体鼠标透明时,此窗体中包含的控件也是鼠标透明的
我该怎么办?
您可以创建一个表单并将BackColor和TransparencyKey属性都设置为Color.Magenta。
BackColor
TransparencyKey
Color.Magenta
屏幕截图:
单击通过窗口并到达其后的窗口,但是单击按钮1时,将单击按钮。
注意:该技巧适用于某些颜色,例如,如果您使用Color.Red,它将是透明的,但可以处理单击,但是使用洋红色,窗体也将是鼠标透明的。