5
我创建了一个半透明表单。我希望人们能够点击表单区域,并且表单不能处理点击。我希望表单底下的任何内容都可以接收点击事件。C#表单点击通过表格
我创建了一个半透明表单。我希望人们能够点击表单区域,并且表单不能处理点击。我希望表单底下的任何内容都可以接收点击事件。C#表单点击通过表格
你可以用SetWindowLong
做到这一点:
int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);
在这里有几个幻数:
-20
- GWL_EXSTYLE
检索扩展的窗口样式。
0x80000
- WS_EX_LAYERED
0x20
- WS_EX_TRANSPARENT
指定这种风格创建的窗口不宜涂,直到窗下的兄弟姐妹(即由同一线程创建的)都被涂。该窗口显示为透明,因为底层兄弟窗口的位已经被绘制。
有许多文章各地如何做到这一点的网站,如this one。
[点击透明的Visual C#窗体?](http://stackoverflow.com/questions/112224/click-through-transparency-for-visual-c-window-forms) – Joey 2010-05-09 16:09:52
什么将下面表格? – Ikaso 2010-05-09 16:10:39