首页 新闻 会员 周边 捐助

winform实现桌面悬浮文字,鼠标点击穿透

0
悬赏园豆:100 [已解决问题] 解决于 2014-04-08 13:04

找了几个例子只是透明穿透,但是上面的label控件也透明了,希望窗口除了label外都不可见,鼠标可以穿透点击,不在任务栏显示,如果有其他思路也可以,最好winform实现

harrell的主页 harrell | 初学一级 | 园豆:14
提问于:2014-04-08 06:54
< >
分享
最佳答案
0

设置背景透明就好了啊。

楼主说的意思是不是透明以后控件也透明了啊,如果是这个意思就把控件的背景颜色该为非透明颜色,因为更改窗体的背景色以后控件的背景色默认是跟随窗体的背景色而变化的

收获园豆:90
seaconch | 老鸟四级 |园豆:4823 | 2014-04-08 11:11

首先 整个窗体是透明的,但是内部文字是不透明的,就像悬浮在桌面上一样, 鼠标点击无反应,如果下方有其他窗体或控件,鼠标可以透过透明窗体直接操作,就像透明窗体不存在一样, 单纯的窗体透明只是看起来是悬浮的,但是操作不了窗体下层的东西

harrell | 园豆:14 (初学一级) | 2014-04-08 11:24

@harrell: 可以好吗亲?

我本来都给你做好录屏了,但是我是win7  64的录屏效果不好,没给你发过去。

 

seaconch | 园豆:4823 (老鸟四级) | 2014-04-08 11:40

@Goona: 对的 就是这个效果,但是没有标题栏和边框

harrell | 园豆:14 (初学一级) | 2014-04-08 12:34

@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;
        }

 

seaconch | 园豆:4823 (老鸟四级) | 2014-04-08 12:46

@Goona: 感谢, 简单有效

harrell | 园豆:14 (初学一级) | 2014-04-08 13:03

@Goona: 对了 还要加一个       this.TopMost = true;

harrell | 园豆:14 (初学一级) | 2014-04-08 13:06

@harrell: 啊,是...sorry我疏忽了...

seaconch | 园豆:4823 (老鸟四级) | 2014-04-08 13:07

@Goona: 发现如果Label的字复杂一点,正好点击在Label上,这个时候不能穿透,怎么实现Label只展示,鼠标完全穿透?

harrell | 园豆:14 (初学一级) | 2014-04-16 15:20
其他回答(2)
0

百度GDI+,Path通道,自己去绘制!

不得闲 | 园豆:272 (菜鸟二级) | 2014-04-08 08:59
0

很简单,将窗体设为无边框,将BackColor和TransparentKey设为同一种颜色,拖个Label上去设置背景透明就OK了

收获园豆:10
自由_ | 园豆:440 (菜鸟二级) | 2014-04-08 09:16

这个我也能办到,但同时要求穿透呢

支持(0) 反对(0) harrell | 园豆:14 (初学一级) | 2014-04-08 09:19

@harrell: 这个就是穿透的效果啊

支持(0) 反对(0) 自由_ | 园豆:440 (菜鸟二级) | 2014-04-08 10:01

@自由_: 鼠标穿透 ,鼠标可以穿透操作窗体下方的其他窗口,不是透明效果

支持(0) 反对(0) harrell | 园豆:14 (初学一级) | 2014-04-08 10:03

@harrell: 设置了窗体的TransparentKey,就已经可以穿透了啊。

支持(0) 反对(0) vbfool | 园豆:186 (初学一级) | 2014-04-08 11:02

@vbfool: 首先感谢各位积极回答,但为什么我设置了不行呢,可否给一个示例代码?

支持(0) 反对(0) harrell | 园豆:14 (初学一级) | 2014-04-08 11:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册