Foxtable(狐表)用户栏目专家坐堂 → MouseLeave事件有些问题


  共有1585人关注过本帖树形打印复制链接

主题:MouseLeave事件有些问题

帅哥哟,离线,有人找我吗?
桃花笑
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:671 威望:0 精华:0 注册:2018/4/11 14:25:00
MouseLeave事件有些问题  发帖心情 Post By:2018/6/26 14:44:00 [只看该作者]


我要实现的功能是,显示Panel2,当我鼠标离开panel2的区域,则不显示panel2,
结果是,我鼠标在panel2的范围,panel2会不显示。这是什么原因导致的


 图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/26 15:51:00 [只看该作者]

Dim x As Integer = System.Windows.Forms.Cursor.Current.Position.X
Dim y As Integer = System.Windows.Forms.Cursor.Current.Position.Y
Dim P As Point = e.Form.panel.PointToScreen(e.Sender.Location)
'msgbox(x & " " & y & vbcrlf & p.x+e.sender.width & " " & p.y+e.sender.height)
If x <= p.x OrElse x >= p.x+e.sender.width OrElse y <= p.y OrElse y >= p.y+e.sender.height
    e.sender.visible = False
End If

 回到顶部
帅哥哟,离线,有人找我吗?
桃花笑
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:671 威望:0 精华:0 注册:2018/4/11 14:25:00
  发帖心情 Post By:2018/6/27 13:36:00 [只看该作者]

 从角落离开,这个事件还是出发不了,如下图

我想实现的功能:只要离开panel就关闭panel,和没触发mouseleave,点击了不是panel,panel就关闭
点击任何不适panel的地方,panel都要能关闭

图片点击可在新窗口打开查看
[此贴子已经被作者于2018/6/27 13:45:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 14:56:00 [只看该作者]

执行代码,可以放到click、mousemove、timertick等事件

 

Dim x As Integer = System.Windows.Forms.Cursor.Current.Position.X
Dim y As Integer = System.Windows.Forms.Cursor.Current.Position.Y
Dim P As Point = e.Form.panel.PointToScreen(e.form.controls("panel2").Location)
'msgbox(x & " " & y & vbcrlf & p.x+e.sender.width & " " & p.y+e.sender.height)
If x <= p.x OrElse x >= p.x+e.sender.width OrElse y <= p.y OrElse y >= p.y+e.sender.height

    e.form.controls("panel2").visible = False
End If


 回到顶部
帅哥哟,离线,有人找我吗?
桃花笑
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:671 威望:0 精华:0 注册:2018/4/11 14:25:00
  发帖心情 Post By:2018/6/27 17:10:00 [只看该作者]

 这个效果跟之前一样,又没有什么办法设置,只要不再panel范围内,就关闭panel

click、mousemove这两种事件试过了,后面这种没有找到timertick事件
[此贴子已经被作者于2018/6/27 17:16:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 17:25:00 [只看该作者]

1、写在窗口的click、mousemove事件啊;

 

2、timertick事件参考 http://www.foxtable.com/webhelp/scr/1301.htm

 


 回到顶部