带有可见可点击控件的透明表单
Transparent Form with Visible Clickable Controls in it
我正在尝试在 win8 和 winforms 中制作鼠标透明窗体,其中包含可点击的控件。
我可以使用此代码使表单鼠标透明
int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
(在 win8 上,WndProc 方法不起作用)
但是当我把窗体设为鼠标透明时,这个窗体中包含的控件也是鼠标透明的
我能做什么?
您可以创建一个表单并将 BackColor
和 TransparencyKey
属性都设置为 Color.Magenta
。
截图:
点击通过window到达后面,但是你点击按钮1,按钮会被点击
注:
该技巧适用于某些颜色,例如,如果您使用 Color.Red,它将是透明的,但可以处理点击,但使用洋红色,表单也将是鼠标透明的。
我正在尝试在 win8 和 winforms 中制作鼠标透明窗体,其中包含可点击的控件。
我可以使用此代码使表单鼠标透明
int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
(在 win8 上,WndProc 方法不起作用)
但是当我把窗体设为鼠标透明时,这个窗体中包含的控件也是鼠标透明的
我能做什么?
您可以创建一个表单并将 BackColor
和 TransparencyKey
属性都设置为 Color.Magenta
。
截图:
点击通过window到达后面,但是你点击按钮1,按钮会被点击
注: 该技巧适用于某些颜色,例如,如果您使用 Color.Red,它将是透明的,但可以处理点击,但使用洋红色,表单也将是鼠标透明的。