| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5099 人关注过本帖
标题:窗体上布满了控件,如何响应鼠标事件
只看楼主 加入收藏
zhangcanwei
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:63
专家分:135
注 册:2010-7-4
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:9 
窗体上布满了控件,如何响应鼠标事件
窗体上布满了控件,想做个程序,当鼠标离开窗体后,执行一段代码。
 问题是,窗体的鼠标离开事件不起作用了。总不能对每个控件都进行编程吧
搜索更多相关主题的帖子: 如何 
2016-05-13 16:25
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:7 
设置窗体任何时候都接收鼠标移动消息,收到鼠标移动消息后,计算是不是不在本窗体范围之内,如果不是,则说明鼠标离开了。再处理 吧。
今天刚学 ,代码写不出。

授人于鱼,不如授人于渔
早已停用QQ了
2016-05-13 16:59
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:7 
回复 2楼 风吹过b
你怎么也过来了,VB板块可都靠你撑着呢
2016-05-16 15:53
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
也想过来逛逛。
,还看不太懂。目前还没去找书。想找个题目练练手,又觉得太简单的没意思,复杂的又做不了。矛盾中。

授人于鱼,不如授人于渔
早已停用QQ了
2016-05-17 08:44
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 4楼 风吹过b
我觉得net还是容易一点,现在VB要不是还经常用VBA估计差不多都忘记了
2016-05-17 20:57
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:7 
以下是引用zhangcanwei在2016-5-13 16:25:54的发言:

窗体上布满了控件,想做个程序,当鼠标离开窗体后,执行一段代码。
 问题是,窗体的鼠标离开事件不起作用了。总不能对每个控件都进行编程吧


如果你不想对每个控件都写代码,那么可以加一个定时器Timer1,将其Enabled属性设为True,在其Tick事件中判断鼠标是否离开的窗体。
你参考下。

程序代码:

 If Cursor.Position.X<Me.Left Or Cursor.Position.X>Me.Left+Me.Width Or Cursor.Position.Y<Me.Top Or Cursor.Position.Y>Me.Top+Me.Height Then

    Msgbox("鼠标离开了窗体")   


 End If

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-18 12:39
zhangcanwei
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:63
专家分:135
注 册:2010-7-4
收藏
得分:0 
回复 6楼 不说也罢
谢谢回复。
不知道时钟控件会不会消耗很多的系统资源?
2016-05-28 16:04
zhangcanwei
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:63
专家分:135
注 册:2010-7-4
收藏
得分:0 
回复 2楼 风吹过b
怎样设置才能让窗体一直能够接收鼠标移动的消息呢
2016-05-28 16:06
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:0 
如果担心消耗系统资源,可以委托另一个线程做这件事。.NET有backgroundworker控件,可供你解决问题。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-28 17:51
zhangcanwei
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:63
专家分:135
注 册:2010-7-4
收藏
得分:0 
回复 9楼 不说也罢
十分感谢!我还没注意到有这么个控件,一直都是直接使用线程类的。
这个控件的确方便多了。
2016-05-30 10:54
快速回复:窗体上布满了控件,如何响应鼠标事件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.050226 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved