先看一下鼠标穿透的效果:测试
能够看到Form1这个程序虽然遮在了桌面的上面,可是咱们还能够在窗体上点击桌面上的必应词典和网易邮箱大师,好像这个叫“Form1”的窗口被“穿透”同样。this
winform版本:spa
一、设置TransparencyKey=BackColor=control颜色,鼠标会穿透窗体 orm
this.painel.BackColor = System.Drawing.SystemColors.Control; //这里的Painel是一个System.Windows.Forms.Panel的实例,表示一个面板。blog
this.TransparencyKey = System.Drawing.SystemColors.Control; //查了一下这个颜色的含义,msdn上写的是“三维元素的表面颜色”。。。 什么意思?就当作是透明色吧
二、设置TransparencyKey=BackColor=红色、蓝色等其它颜色,在win7下测试鼠标不会穿透窗体,可是在XP下鼠标仍是会穿透窗体
三、我用SetLayeredWindowAttributes这个API设置透明,什么系统下鼠标都会穿透窗体it
wpf版本:form
IsHitTestVisible:声明此元素是否能够做为其呈现内容的某部分的命中测试结果返回。class