找了几个例子只是透明穿透,但是上面的label控件也透明了,希望窗口除了label外都不可见,鼠标可以穿透点击,不在任务栏显示,如果有其他思路也可以,最好winform实现
设置背景透明就好了啊。
楼主说的意思是不是透明以后控件也透明了啊,如果是这个意思就把控件的背景颜色该为非透明颜色,因为更改窗体的背景色以后控件的背景色默认是跟随窗体的背景色而变化的
首先 整个窗体是透明的,但是内部文字是不透明的,就像悬浮在桌面上一样, 鼠标点击无反应,如果下方有其他窗体或控件,鼠标可以透过透明窗体直接操作,就像透明窗体不存在一样, 单纯的窗体透明只是看起来是悬浮的,但是操作不了窗体下层的东西
@harrell: 可以好吗亲?
我本来都给你做好录屏了,但是我是win7 64的录屏效果不好,没给你发过去。
@Goona: 对的 就是这个效果,但是没有标题栏和边框
@harrell: 窗体边框去掉呗。
formborderstyle=none
具体代码:
private void 显示按钮_Click(object sender, EventArgs e) { this.BackColor = Color.Red; } private void 隐藏按钮_Click(object sender, EventArgs e) { this.BackColor = Color.Silver; } private void Form5_Load(object sender, EventArgs e) { this.TransparencyKey = Color.Red; lbl_文字.BackColor = Color.Red; this.FormBorderStyle = FormBorderStyle.None; }
@Goona: 感谢, 简单有效
@Goona: 对了 还要加一个 this.TopMost = true;
@harrell: 啊,是...sorry我疏忽了...
@Goona: 发现如果Label的字复杂一点,正好点击在Label上,这个时候不能穿透,怎么实现Label只展示,鼠标完全穿透?
百度GDI+,Path通道,自己去绘制!
很简单,将窗体设为无边框,将BackColor和TransparentKey设为同一种颜色,拖个Label上去设置背景透明就OK了
这个我也能办到,但同时要求穿透呢
@harrell: 这个就是穿透的效果啊
@自由_: 鼠标穿透 ,鼠标可以穿透操作窗体下方的其他窗口,不是透明效果
@harrell: 设置了窗体的TransparentKey,就已经可以穿透了啊。
@vbfool: 首先感谢各位积极回答,但为什么我设置了不行呢,可否给一个示例代码?